gitlab_in_docker
README.md
gitlab_in_docker
Gitlab в докер контейнерах для разработки на локалхосте
На хосте должен быть установлены:
- docker -v
- docker compose version
Настройка
1) Создаем папки для хранения конфигов и данных gitlab. Пример:
- mkdir -p /home/ilya/develop/gitlab/config
- mkdir /home/ilya/develop/gitlab/logs
- mkdir /home/ilya/develop/gitlab/data
- mkdir -p /home/ilya/develop/gitlab/runner/config
- mkdir /home/ilya/develop/gitlab/runner/home
2) Скачиваем docker-compose.yml в /home/ilya/develop/gitlab
3) В файле docker-compose.yml вставляем свои созданные папки из пункта 1)
4) В файле docker-compose.yml вставляем свой домен вместо gitlab.loc
5) В файле docker-compose.yml если нужно отредактировать порты ssh 2424 и web 80.
6) В файле docker-compose.yml если нужно отредактировать параметр hostname
7) В файле docker-compose.yml если нужно отредактировать параметр image: gitlab/gitlab-ce:17.3.7-ce.0 установить нужную версию gitlab. Версию смотреть в hub.docker.com
Запуск
Переходим в /home/ilya/develop/gitlab Запускаем командой
sudo docker compose up -d
Если нужно остановить
sudo docker compose down
После запуска
- Смотрим пароль от root в /home/ilya/develop/gitlab/config/initial_root_password
- Заходим на свой домен, http://gitlab.loc или по ip контейнера "gitlab" (посмотреть его можно в sudo docker inspect gitlab | grep IPAddress как правило ip будет 172.0.0.2)
- Добавить ip контейнера в hosts, например 172.0.0.2 gitlab.loc
- Вэб интерфейс http://gitlab.loc после запуска контейнера будет доступн не сразу, нужно какое то время на загрузку.
- В вэб интерфейсе вводим root и пароль который взяли в initial_root_password, далее нужно поменять на свой пароль.
Регистрация gitlab-runner если нужен ci/cd
- В Admin area --> CI/CD --> Runner'ы --> кнопка "New instance runner"
- Отметим "Запуск заданий без тегов", Остальное оставляем все по умолчанию, нажимаем "Create runner"
- Появится страница, где в пункте Step 1 будет написан токен типа "--token glrt-FJhGfxaGAzGV3xyuv9ZS", берем его и выполняем:
sudo docker exec -it gitlab-runner gitlab-runner register --non-interactive --url http://gitlab.loc --token glrt-FJhGfxaGAzGV3xyuv9ZS --executor "docker" --docker-image alpine:latest --description "docker-runner"
И в /home/ilya/develop/gitlab/runner/config/config.toml Добавить в секцию [runners.docker]
network_mode = "host"