@wizkey
sysadmin

Как правильно настроить ssh авторизацию для пайплайна в gitlab ci для запуска ansible-playbook?

Задача: установка\обновление приложения на группу linux серверов.

gitlab-runner установлен только на одном сервере для ansible с которого выполняется playbook.

gitlab-ci.yml примерно такой:
stages:
  - install_zabbix_agent

install_zabbix_agent:
  stage: install_zabbix_agent
  script:
    - 'ansible-playbook playbooks/zabbix-agent-linux.yml  -i environments/inventory'
  tags:
    - zabbix


Идеи пока такие:
  1. Пользователю gitlab-runner создать ключ, раскатать на все серверы, добавить в variables
  2. Или создать общую учетку с логином\паролем и прописать все в inventory


Как это сделать правильно и безопасно, чтобы не палить приватный ключ или пароль?
  • Вопрос задан
  • 347 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
В Гитлабе есть секреты, куда, помимо прочего, можно положить и SSH-ключи.

Но вообще, раз у вас на хостах уже запущены раннеры - значит, доступ уже есть и достаточно добавить пользователю gitlab-runner нужные права, например, через sudo.
Ответ написан
inf
@inf
DevOps Engineer
3. Дать доступы пользователю от которого выполняется скрипт ансибла на остальные машины. Просто публичный ключ раскидать по остальным серверам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы