161 слово | 1 минута
Обслуживание
Gitalb представляет собой web приложение, состоящее из нескольких компонентов:
- Ruby
- Go
- Nodejs
- База данных (PostgreSQL или MySQL)
- Redis
- Nginx
Конфиг: /etc/gitlab/gitlab.rb
Создание резервной копии
Бекапы хранятся по адресу /var/opt/gitlab/backups
Можно назначить в крон:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
В конфиге можно указать время жизни копий: gitlab_rails['backup_keep_time'] = 604800
sudo gitlab-rake gitlab:backup:create STRATEGY=copy
Таким образом созданные бэкапы не включают в себя сам файл конфигурации gitlab и ключей ssh, которые хранятся в /etc/gitlab. Эту директорию нужно бэкапить отдельно!
Восстановление
Для восстановления из бэкапа, необходимо установить чистую gitlab той же версии, что есть в архивной копии. Убедиться в том, что она работает. Затем восстановить вручную файл /etc/gitlab/gitlab-secrets.json. Далее копируем файл с бэкапом в директорию /var/opt/gitlab/backups и назначаем пользователя git владельцем файла. Дальше выполняем команды:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status
gitlab-rake gitlab:backup:restore BACKUP=1493107454_2018_04_25_10.6.4-ce
После этого нужно восстановить конфиг /etc/gitlab/gitlab.rb. Перезапустить gitlab и выполнитт проверку.
gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
Обновление
Всегда перед ней делаем бекап!
sudo apt update && sudo apt install gitlab-ce
Разное
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo apt-get remove gitlab-ce
# обновление конфигурации (чтобы новая вступила в силу)
sudo gitlab-ctl reconfigure
# тестирование работы компонентов
sudo gitlab-rake gitlab:check
# текущее состояние и время безотказной работы каждого компонента
gitlab-ctl status
Раннеры
sudo gitlab-runner stop
sudo gitlab-runner list
sudo gitlab-runner verify --delete -t glrt-sETNgquzJ24x6b8vUY7r -u [https://gitlab.2dapp.ru](https://gitlab.2dapp.ru/)
sudo gitlab-runner run
Ошибки
- ошибка initial-branch: не работает с старой версией гита. нужна > 2.28 - (git --version)
- ошибка could not resolve host: не настроен DNS и нужно стучаться по IP
- ошибка server certificate verification failed: не настроен сертификат Letsencrypt при установке