LINUX.ORG.RU
ФорумAdmin

Как хранить код Ansible в git, при двух environment

 ,


0

2

Всем привет.

Ситуация такая, есть git репа, в ней плейбуки\роли Ansible. Код обкатывается на staging серверах, потом мержится в production. Соответственно в git две ветки.

Когда я делаю мерж, то разница между ветками исчезает, но она должна быть, ведь набор серверов в inventory hosts - должен быть разный для разных веток. Выходит, один файлик все равно должен будет отличаться между ветками?

Придумал костыль, чтоб Ansible брал inventory hosts, смотря на имя текущей ветки git. Тогда их можно спокойно мержить.

Как сделать по красоте?

★★★★★

Как сделать по красоте?

Одна master-ветка, два или три разных inventory в ней.

Пулл-реквест тестишь на тестовом окружении. После мерджа прогоняешь сначала на staging, если всё ок, то на prod.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Пулл-реквест тестишь на тестовом окружении.

путь к inventory hosts при этом другой? если да, то так можно ошибиться и прогнать на prod.

Bers666 ★★★★★
() автор топика
Ответ на: комментарий от Bers666

путь к inventory hosts при этом другой? если да, то так можно ошибиться и прогнать на prod.

Ну по хорошему у скриптов которые развертывают testing или staging не должно быть доступа к проду на уровне ключей/прав. Так что даже если ты промахнешься с inventory выкатка не должна произойти.

alpha ★★★★★
()

Не держать инвентори в репе с ролями

dhameoelin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.