GitLab
Contents[+]
Поднимаем Gitlab в docker-контейнерах за Nginx
Вложенные материалы
Item does not exist or read access blocked by ACLs: +show/+b5d6684f09274860a0a889304ff0c8dc/devops/gitlab
Запуск Gitlab
Без прокси-сервера
Проще всего запустить Gitlab на отдельном сервере без фронтального прокси. Предварительно необходимо изменить ssh порт (22) на другой, т.к. этот порт будет прокидываться в контейнер гитлаба Типовая команда запуска.
docker run -d \ --hostname gitlab.example.com \ --publish 22:22 \ --publish 80:80 \ --publish 443:443 \ --publish 5050:5050 \ --name gitlab \ --restart always \ --volume /srv/config:/etc/gitlab \ --volume /srv/logs:/var/log/gitlab \ --volume /srv/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
С прокси-сервером
Порядок действий:
- получаем TLS сертификаты через certbot
- запускаем gitlab без https, порты наружу не выводим (кроме 22)
- запускаем nginx с TLS-сертификатами и upstream-им в гитлаб.
Мажорное обновление Gitlab
# --- цикл обновления # Необходимо повторить для каждой мажорной версии docker-compose run --rm gitlab bash # --- for localhost # chmod 2770 /var/opt/gitlab/git-data/repositories # docker exec -it iaac_gitlab_run /opt/gitlab/embedded/bin/runsvdir-start & gitlab-ctl reconfigure # --- команда может ругнуться, но данные будут обновлены gitlab-ctl pg-upgrade # --- будет создана директория srv/gitlab/data/postgresql/data.XX # еще надо будет перименовать в data exit cd /path/to/srv/gitlab/data/postgresql sudo mv data data.YY sudo mv data.XX data # --- проверяем, что всё прошло хорошо docker-compose up
Резервирование и восстановление
docker exec -it iaac_gitlab bash export PGOPTIONS="--ignore_system_indexes=1" gitlab-backup create SKIP=db # Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data # and are not included in this backup. You will need these files to restore a backup. # Please back them up manually. exit docker cp iaac_gitlab:/var/opt/gitlab/backups/XXXXXX_YYYY_MM_DD_13.12.6_gitlab_backup.tar . # docker exec -it iaac_gitlab bash # rm /var/opt/gitlab/backups/XXXX... # копируем бекап и конфигурацию scp hd0:~/XXXXXX_YYYY_MM_DD_13.12.6_gitlab_backup.tar . scp hd0:/srv/gitlab/config/gitlab.rb . scp hd0:/srv/gitlab/config/gitlab-secrets.json .
Команды в комметариях
https://docs.gitlab.com/ee/user/project/time_tracking.html
# The following time units are available: # - Months (mo) # - Weeks (w) # - Days (d) # - Hours (h) # - Minutes (m) # Default conversion rates are 1mo = 4w, 1w = 5d and 1d = 8h. /estimate 3d 5h 10m