2013-03-07 3 views
2

Недавно наша организация решила перейти от использования Maven/Cargo-plugin для развертывания наших приложений с использованием Puppet. У нас все еще есть все наши сборки и тестовые задания в Дженкинсе. Так что я пытаюсь выяснить, как я могу вызвать конкретную работу Дженкинса, основанную на конкретной линии, которая изменяется в манифесте марионеток? Мы используем манифест, в котором есть все наши развернутые компоненты и их версии. Если я изменю версию одного из компонентов, я хочу, чтобы определенное тестовое задание запускалось на основе того, какой компонент был изменен. И в конце концов я захочу отменить марионетку, если тест не удастся. Кто-нибудь сделал что-то связанное?Trigger Jenkins with Puppet

ответ

1

Я не использовал его для вашего конкретного случая использования, но для сценария «pull», где вы хотите отслеживать содержимое манифеста Puppet для изменений, Jenkins FSTrigger plugin должен работать на вас, пока ваша работа Jenkins может доступ к файлу манифеста Puppet. Вы можете настроить его для поиска изменений во всем содержимом файла или только в определенной части содержимого.

Если вам нужен сценарий «push» для запуска сборки, как только будет изменен манифест Puppet, вы можете написать скрипт, который запускается после сохранения изменений, проверяет, какие компоненты были изменены, и запускает сборку через Jenkins CLI.

+0

Спасибо за ответ. Я надеялся, что мы можем сделать толчок, а не тянуть. После изменения марионеточных файлов нам нужно будет запустить Puppet, чтобы применить изменения, и только когда они будут завершены, мы сможем запустить наши тесты. Но еще раз спасибо за ссылку, я посмотрю на нее. – user2146108

+0

Отредактировал мой ответ на основе вашего комментария. –