Я пытаюсь полностью развернуть свой стек gitlab cicd с помощью ansible и автоматически зарегистрировать бегунов.
Я использую приведенную ниже задачу в своей книге игр, чтобы получить токен регистрации и сохранить его в фактах для моих бегунов для дальнейшей регистрации,как я видел в нескольких уроках, мы можем получить регистрационный токен из базы данных gitlab.
Задание ANSIBLE PlayBook:
- name: Extract Runner Registration Token directly from Gitlab DB
become: true
become_user: gitlab-psql
vars:
ansible_ssh_pipelining: true
query: "SELECT runners_registration_token FROM application_settings ORDER BY id DESC LIMIT 1"
psql_exec: "/opt/gitlab/embedded/bin/psql"
gitlab_db_name: "gitlabhq_production"
shell: '{{ psql_exec }} -h /var/opt/gitlab/postgresql/ -d {{ gitlab_db_name }} -t -A -c "{{ query }}"'
register: gitlab_runner_registration_token_result
Но эта задача не возвращает регистрациитокен (получить пустую строку), поскольку столбец runners_registration_token не существует в таблице application_settings .Однако столбец runners_registration_token_encrypted
существует, но возвращенная строка runners_registration_token_encrypted
отклоняется runner-register
api.
Таким образом, я должен скопировать токен регистрации бегунов из графического интерфейса gitlab (в admin / runners ), жестко закодировать его в playbook и снова запустить playbook для успешного завершения стека регистрации.
Может кто-нибудь объяснить, где gitlab хранит свой токен регистрации бегунов, отображаемый в графическом интерфейсе (я заметил, что после перезагрузки сервера gitlab он не меняется)?Действительно ли невозможно автоматизировать поиск маркеров регистрации участников gitlab для неинтерактивной автоматической регистрации участников?Ребята, у вас есть идеи о том, как этого добиться?