2016-11-04 2 views
0

Я использую новый DSL-порт DSL, который мне очень нравится. Мой Jenkinsfile, вероятно, довольно типичен и компилирует/модулирует код кода в ветке master GIT, используя maven, выполняет сборку докеров, развертывается на этапе постановки и т. Д. В конце конвейера есть ручной шаг, когда пользователь должен подтвердить, сборка идет на производство, напримерТруба Дженкинса DSL автоматически отменяет вход

stage name: 'Production Deploy', concurrency:1 
input 'Do you want to deploy to production?' 
node { 
    sh "./bin/production-deploy.sh" 
} 

Однако блокировка блоков до тех пор, пока кто-либо не примет/отклонит. Есть ли способ автоматически отклонить input, если кто-то ударит по строительству (путем слияния кода с веткой master)?

+2

Отделите трубопровод CI конвейера CD. В конвейере CI вы создаете, тестируете, развертываете с этапа разработки на этап, кто-то проверяет развертывание промежуточной части, а на втором этапе вы запускаете конвейер DC, когда вы развертываете его на стадии разработки. таким образом, у вас есть независимый процесс развития жизненного цикла и независимый процесс доставки. – johnnynemonic

+0

Вы предлагаете 2 трубопровода для каждого проекта? Это лучший способ сделать это? Я подумал (прочитав книгу «Непрерывная доставка» http://martinfowler.com/books/continuousDelivery.html), что вы хотите, чтобы все этапы (компиляция -> постановка -> QA -> и т. Д.)> Производились в одном конвейере сборки – bobmarksie

+1

в вашем случае, да. В случае, если книга предлагает, хорошо, когда у вас весь процесс автоматизирован, и нет пауз или человеческих взаимодействий. И вы реализуете в своей инфраструктуре некоторые материалы, такие как сине-зеленые развертывания, которые позволяют проверить развертывание в узле aVM, в то время как другому узлу VM предоставляется производственный сервис. – johnnynemonic

ответ

0

Я стараюсь, чтобы вы разделили конвейер Continuos Integration трубопровода Continuos Delivery. В конвейере CI вы создаете, тестируете, развертываете с этапа разработки до стадии постановки, затем кто-то проверяет развертывание очереди и когда все тестовые тесты в порядке, на следующем этапе вы выполняете конвейер DC; когда вы развертываетесь на стадии производства. таким образом, у вас есть независимый процесс развития жизненного цикла и независимый процесс доставки.