Автоматическое развертывание ANSIBLE GIT
Как автоматизировать развертывание из репозитория git, размещенного на github / bitbucket, на сервер ubuntu, используя ansible?
В настройках репозитория github->webhooks я могу добавить webhook для pull to master, который вызовет мой сервер
У меня есть собственное решение, написанное в node.js, которое извлекает из git и перезапускает службу, но хочет перейти на ansible
Я новичок в ansible, но мало знаю о ansible-playbook
Имеется модуль github для подключения к интернету https://docs.ansible.com/ansible/latest/github_hooks_module.html
Но я не понимаю, какой файл.yml мне нужно написать
Также мне нужно передать секретные ключи API, используя переменные окружения. Как сохранить его в связке ключей?
Как помочь
Напишите файл.yml для ansible-playbook, сервисного веб-сервера для ловушки с секретным полем и git pull
плюс беги мерзавцы как npm i
, что указано в репо (от непривилегированного пользователя) и сказать, как его использовать
Скажите, можно ли использовать модуль GitHub Webhook с Bitbucket?
0 ответов
В
github_hooks
модуль устарел и используется в Ansible для создания хуков на Github. Что вам нужно, так это вызов, который вызывается, когда, например, было выполнено нажатие Git (так что наоборот).
Github нужен HTTP-сервис для вызова, когда вы хотите, чтобы Ansible что-то делал. Сам Ansible не может этого сделать, потому что это не сервер и ничего не слушает. Это просто "сценарий".
У вас есть два варианта: поместить все ваши скрипты Ansible и т. Д. В AWX/Ansible Tower. Это веб-сервис, у которого есть REST-API. Пожалуйста, загляните на https://keithtenzer.com/2019/06/24/ci-cd-with-ansible-tower-and-github/ для хорошего описания.
Если вы не хотите устанавливать AWX. Установите какой-нибудь HTTP-сервер на управляющую машину ansible и напишите сценарий (например, тот, который вы уже сделали), который запускает Ansible-Playbook, когда Github его вызывает.