Gitlab Первый вход и настройка¶
При первом запуске GitLab может потребоваться до 12 минут на сервере с конфигурацией 2 CPU, 2 GB RAM и 4 GB SWAP. После запуска необходимо выполнить несколько шагов для получения доступа и первоначальной настройки.
Получить пароль для пользователя root¶
docker exec -it gitlab_server grep 'Password:' /etc/gitlab/initial_root_password
Сброс пароля¶
Первый раз входить в GitLab нужно с правами рут-пользователя root.
Пароль задается инструкцией:
sudo gitlab-rake "gitlab:password:reset"
Настройка профиля¶
Menu - Edit Profile - Account:
- Account:
- Меняем имя рут пользователя на voale in Change username
- enable 2FA
- Password
- Add SSH keys
Menu Admin - Settings - General:
- чтобы новые юзеры могли работать только над уже созданными проектами, установите значение Default projects limit равным 0
- Для запрета регистрации Sign-up Restrictions и кликните Expand, а затем уберите галочку в чекбоксе Sign-up enabled.
- Если хотите ограничить регистрацию по доменному имени, то в том же разделе включите чекбокс Send confirmation email, который разрешает вход после подтверждения email. Теперь осталось лишь указать желаемые доменные имена в пункте Whitelisted domains for sign-ups box. Также в настройках можно ограничить доступ по IP или доменному имени
Настройка почты¶
Для работы Mail.ru почты по SMTP с Gitlab (или другими приложениями) нужно создать "пароль для внешнего приложения". Даём понятное название для нашего пароля, проходим капчу и в конце получаем наш пароль – его лучше записать, выводится только один раз.
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mail.ru"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "example@mail.ru"
gitlab_rails['smtp_password'] = "указываем пароль для внешнего приложения"
gitlab_rails['smtp_domain'] = "здесь может быть как ваш приобритённый домен так и mail.ru"
gitlab_rails['gitlab_email_from'] = 'example@mail.ru'
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
docker exec -it gitlab_server bash
Входим в консоль gitlab
gitlab-rails console
Проверка отправки электронной почты:
Notify.test_email('admin@example.com', 'Test', 'some test email').deliver_now
Применение новых настроек:
gitlab-ctl reconfigure
Настройка OIDC аутентификации¶
Настройка SAML аутентификации¶
CI¶
Нужно сразу создать docker registry mirror и подключить для CI
Сборка мусора¶
Ручной режим: sudo gitlab-ctl registry-garbage-collect -m
По крону: * * * * 7 docker exec -i gitlab_server /bin/bash gitlab-ctl registry-garbage-collect -m