Syntax highlighting of a612c8c ~( devops/gitlab)
= GitLab = <<TableOfContents()>> [[https://gitlab.com/gitlab-org/gitlab-ce/tree/master|GitLab Source|class=" moin-https"]] [[https://about.gitlab.com/installation/|GitLab Installation|class=" moin-https"]] [[https://docs.gitlab.com/omnibus/docker/|GitLab Docker Tutorial|class=" moin-https"]] [[https://hub.docker.com/r/gitlab/gitlab-ce/|Gitlab Docker Image|class=" moin-https"]] [[https://docs.gitlab.com/omnibus/docker/|GitLab Docker images Manual|class=" moin-https"]] '''[[https://docs.gitlab.com/ce/administration/|Administrator documentation|class=" moin-https"]]''' [[https://letsclearitup.com.ua/nginx/podnimaem-gitlab-v-docker-konteynerah-za-nginx.html|Поднимаем Gitlab в docker-контейнерах за Nginx|class=" moin-https"]] == Вложенные материалы == <<ItemList(display=”ChildName”)>> == Запуск Gitlab == === Без прокси-сервера === Проще всего запустить Gitlab на отдельном сервере без фронтального прокси. Предварительно необходимо изменить ssh порт (22) на другой, т.к. этот порт будет прокидываться в контейнер гитлаба Типовая команда запуска. {{{#!highlight bash 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 }}} === С прокси-сервером === Порядок действий: 1. получаем TLS сертификаты через certbot 1. запускаем gitlab без https, порты наружу не выводим (кроме 22) 1. запускаем nginx с TLS-сертификатами и upstream-им в гитлаб. == Мажорное обновление Gitlab == {{{#!highlight bash # --- цикл обновления # Необходимо повторить для каждой мажорной версии 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 }}} == Резервирование и восстановление == [[https://docs.gitlab.com/ee/raketasks/backup_restore.html|Back up and restore GitLab|class=" moin-https"]] {{{#!highlight bash 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://gitlab.itmonitoring.pro/help/user/project/quick_actions|Gitlab Quick Actions|class=" moin-https"]] https://docs.gitlab.com/ee/user/project/time_tracking.html {{{#!highlight bash # 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 }}}
