Jenkins: выберите один из различных методов развертывания (ведущий-ведомый против ansible) - PullRequest
0 голосов
/ 19 апреля 2019

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

Допустим, Дженкинс работает на VM с именем JEN

  • Разработка ветки на VM с именем DEV
  • промежуточная ветвь на VM с именем STAGE
  • И ветвь Master на VM с именем MASTER

Я сделал три подчиненных узла ( DEV , STAGE , MASTER ) на Дженкинсе и у вас на разных ветках Jenkinsfile работает на разных виртуальных машинах ( DEV , STAGE , MASTER ).

Другой подход, через который я прохожу:

  • Не делать DEV, STAGE, MASTER в качестве подчиненного узла. То есть у нас есть только один агент Дженкинс ( JEN ).
  • Запустите конвейер и тесты в нем на JEN и используйте ANSIBLE для удаленного развертывания ( DEV, STAGE, MASTER )

Как бы это сравнить с первым подходом?

1 Ответ

0 голосов
/ 19 апреля 2019

Во-первых, я считаю, что это Ansible , а не ancible.

Во-вторых, интерес к модели развертывания Ansible заключается в том, что без агента (в отличие от Jenkins, которому требуется прослушиватель агента agent.jar)

Так что если вам нужно развернуть не источники, а результаты, то Ansible больше подходит для этой задачи, если целевые машины доступны через SSH.

Конвейер Jenkins будет просто выполнять tower_cli вызов правильного шаблона задания Ansible: это то, что я имею в моей платформе развертывания.

...