Конвейер Дженкинса из файла YAML - PullRequest
3 голосов
/ 08 мая 2020

Декларативный конвейер Jenkins слишком мощный для нас, часто пользователи могут злоупотреблять им. Мы думаем использовать самоуверенный YAML для описания конвейера CI / CD. И, кажется, есть два варианта.

  1. Напишите плагин и используйте YAML и динамически создайте этап / шаги.
  2. Напишите плагин для преобразования YAML в конвейер Jenkins.

Я не эксперт по Дженкинсу, поэтому надеюсь, что какой-нибудь эксперт может дать некоторые рекомендации и, возможно, пример.

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Ищу аналогичное решение. Мы запускаем защищенные предопределенные конвейеры для каждого проекта, но все же хотим позволить командам разработчиков настраивать определенные шаги в рамках процесса, не предоставляя им полную мощность Jenkinsfile.

Я также изучаю возможность - вашими словами - «самоуверенный YAML» .

Я пока нашел только один пример такой реализации: Wolox-CI поддерживает свои собственные предопределенные шаги сборки через YAML. Вы сможете увидеть поддерживаемые ими шаги здесь .

Я думаю о разборе YAML с помощью Snake YAML. Вот ответ SO с примером того, как это сделать.

0 голосов
/ 10 мая 2020

Два решения:

  • создать общую библиотеку для абстрагирования фактического конвейера и предоставить вашим пользователям некоторые рекомендации по настройке общей библиотеки и образца Jenkinsfile. Вот пример встроенного конвейера https://github.com/SAP/jenkins-library/blob/master/vars/piperPipeline.groovy
  • , используйте другой инструмент, например https://drone.io/

Если вы не являетесь экспертом и не хотите / не успеваете им стать, второе решение может быть лучшим.

...