ansible git autodeploy by webhooks

Как автоматизировать развертывание из репозитория git, размещенного на github / bitbucket, на сервер ubuntu с помощью ansible?

В настройках репоста github -> webhooks я могу добавить webhook для pull to master, который вызовет мой сервер webhooks

У меня есть самодельное решение, написанное на node.js, которое извлекается из git и перезапускает службу, но хочу перейти на ansible

Я новичок в ansible, но мало знаю о ansible-playbook

Есть модуль github webhook для ansible https://docs.ansible.com/ansible/latest/github_hooks_module.html

Но я не понимаю, что.yml, мне нужно написать

Также мне нужно передать секретные ключи API, используя переменные окружения. Как сохранить его в связке ключей?

Как помочь

Записать файл .yml для ansible-playbook, этот сервисный веб-сервер для ловушки с секретным полем и git pull плюс запустить git-хуки вроде ] npm i , который указан в репо (от непривилегированного пользователя) и говорит, как его использовать

Скажем, можно ли использовать модуль github webhook с битбакетом?

1
задан 7 February 2018 в 21:17
1 ответ

Модуль github_hooks устарел и используется в Ansible для создания хуков на Github. Что вам нужно, так это отбрасывать трубку, когда, например, был сделан Git push (так что наоборот).

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 его вызывает.

0
ответ дан 17 March 2020 в 12:24

Теги

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