Запуск ветки Feature / hotfix из Multibranch pipeline

Я новичок в концепции конвейера с несколькими ветвями и пытаюсь реализовать в нашем проекте, где мы запускаем наши сборки jenkins внутри контейнеров докеров.

У нас есть требование, согласно которому вся сборка по ветке «разработка» должна выполнять сборку и создание образа докера. В то время как остальные созданные ветки «функция / исправление» должны выполнять только сборку.

Я написал файл Jenkinfile следующим образом

node {
 checkout scm

 if (env.BRANCH_NAME == 'develop') {

   stage ('Stage for develop') {

     echo  "Build,create an docker-image"
   }

 }

 else if (env.BRANCH_NAME == 'feature_branch') {

   stage ('Stage for feature branch') {

     echo "only build"
   }

 }

 else {
   echo "Branch branch not found"
 }

Проблема здесь в том, что мы жестко кодируем имена веток функций, и это может быть проблемой, если кто-то создает ветку с другими именами, и Jenkinsfile не сможет ее идентифицировать.

Я пытаюсь написать так, чтобы Jenkinsfile автоматически идентифицировал вновь созданную ветку и запускал для нее сборку.

Любая помощь будет оценена.


person R.V    schedule 27.02.2018    source источник


Ответы (1)


person    schedule
comment
Не уверен, чего хочешь достичь. Что должно произойти с ветвями с разными именами? Вы думали о возможности иметь разные версии Jenkinsfile в разных ветках? - person Joerg S; 28.02.2018
comment
Моим девизом было делать только компиляцию, тестирование и упаковку для всех веток, кроме основной и разработки. После публикации в успешном пакете он должен быть объединен с веткой разработки, где он будет выполнять сборку, выпускать артефакт и создавать образ докера. - person R.V; 28.02.2018