Презентация со встерчи JUG MSK про Groovy DSL
Проводитили сравнение новой фичи Jenkins – Declarative Pipelines путем попытки переписать уже существующий пайплайн по доставке ПО на декларативный. Описали подводные камни и обсудили проблемы.
Видео можно будет найти тут https://vk.com/jugmsk или тут https://plus.google.com/communities/115981831554057619568
3. DISCLAIMER
Наше мнение может не совпадать с официальной
позицией наших работодателей, начальников,
коллег или других специалистов.
Мы не претендуем на роль последней инстанции в
вопросах использования той или иной технологии.
Все представленные решения вы можете
использовать на свой страх и риск. За все ваши
действия ответственность несёте только вы сами.
Все персонажи вымышлены, совпадения случайны.
31. Script
script {
def browsers = ['chrome', 'firefox']
for (int i = 0; i < browsers.size(); ++i) {
echo "Testing the ${browsers[i]} browser"
}
}
31
32. Declarative Pipeline. Demo
● перепишем всё используя новые знания
● when { waitForQualityGate() ... } → steps { error '...' }
● script and shared args
32
33. Императивный
→ Просто работает
→ Легко настраивается
→
→ Pipeline Hell
→ Нет структуры
→ CPS
Декларативный
→ Сложнее сломать*
→ Легче поддерживать
→ И распространять
→ За рамками дозволенного действовать
сложно
→ Документация пока страдает
→ Нет “простых” точек расширения
34. Материалы
Jenkins Handbook
Jenkins Blog
Cloudbees Documentation
34
Jenkins Area Meetup JAM
Jenkins Moscow Meetup
@jenkins_ru
#jenkinsci_ru
https://github.com/aatarasoff/Jenkins-pipeline-live-demo
https://github.com/aatarasoff/spring-boot-example-for-jenkins-pipeline
https://github.com/lavcraft/jenkins-pipeline-libs-example