Однострочная консольная команда для установки первого root пароля в GitLab - PullRequest
1 голос
/ 14 февраля 2020

Мне нужно настроить GitLab и runner, создать пользователя и проекты, зарегистрировать runner - автоматически через пользовательские данные в terraform. Это может быть возможно через API со скриптами bash или python.

Для использования API нам необходим ACCESS_TOKEN - с этим скриптом https://gist.github.com/vitalyisaev2/215f890e75252cd36794221c2debf365 можно создать ACCESS_TOKEN для root пользователь.

Но сначала мне нужно иметь действительный root пароль пользователя. Для меня это большая проблема, которую я не могу решить и прошу вас, ребята, помочь мне.

При первом входе в систему GitLab просит установить / изменить пароль. Первый вход в GitLab UI

Я хочу установить этот пароль с помощью скрипта, а не в интерактивном режиме. Можно установить пароль следующим образом:

gitlab-rails console 
irb(main):001:0> user = User.where(id: 1).first
irb(main):001:0> user.password = user.password_confirmation ='IrF8WCsZJlMP'
irb(main):001:0> user.save!
irb(main):001:0> exit

Но он мне не подходит, потому что я не могу вводить команды в интерактивном режиме. Мне нужна одна строка команды, чтобы установить пароль или установить его при установке gitlab-ce.

Этот способ тоже не работает, он не устанавливает пароль, только EXTERNAL_URL:

sudo GITLAB_ROOT_EMAIL="some@email.com" GITLAB_ROOT_PASSWORD="nTjYfcKxcW" EXTERNAL_URL="http://example.com" yum install gitlab-ce

Пожалуйста, помогите установить первый пароль gitlab root не в интерактивном режиме, без посещения браузера, через консоль с помощью однострочной команды или во время установки gitlab-ce.
Спасибо!

1 Ответ

0 голосов
/ 18 февраля 2020

В файле /etc/gitlab/gitlab.rb я нашел "gitlab_rails ['initial_root_password"

Итак, я решил свою проблему следующим образом

sed -i"" "s#\# gitlab_rails\['initial_root_password.*#gitlab_rails\['initial_root_password'\] = \""${GITLAB_INITIAL_ROOT_PASSWD}"\"#g" /etc/gitlab/gitlab.rb

Нужно установить "root_initial_password" перед первой командой "gitlab-ctlconfigure"

...