Представьте, что у меня есть проект с двумя основными ветвями, master(production)
и development
. У меня есть один Jenkinsfile (одно конвейерное задание, запускаемое событием git push) с конвейерной логикой внутри. Из конвейера я вызываю playbook для создания и развертывания приложения на сервере.
Теперь возникла ситуация, я хочу развернуть приложение на двух серверах. Один основной сервер и один промежуточный (разрабатывающий) сервер. когда я помещаю изменения в основную ветку, я хочу, чтобы измененное приложение было развернуто на главном (производственном) сервере, но когда я помещаю изменения в ветку разработки, я хочу развернуть изменения на промежуточном (развивающемся) сервере.
Теперь у меня есть один Дженкинсфайл, одна книга игр и инвентарь. когда я нажимаю на главную ветку, изменения развертываются на главном сервере.
Но как мне управлять вышеуказанным сценарием для ветки разработки? я должен иметь два задания с двумя разными Jenkinsfile (вызывая разные playbook, которые будут развернуты на разных, промежуточных серверах) в каждой ветке? или я должен иметь оба Jenkinsfiles на обеих ветках? или, может быть, это даже не сработает, и мне нужна другая идея?
Я новичок в DevOps и тому подобное, и я был бы признателен, если бы кто-нибудь помог мне выйти из этой ситуации.