Конвейер Дженкинса - слияние параллельных этапов только на последнем этапе

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

Я хотел бы создать конвейер, который выглядит так: Измененный снимок экрана

В принципе, я бы хотел, чтобы параллельные этапы сливались на разных этапах, а не на следующем этапе. Это возможно?

Лучшее, что я мог сделать, это только следующее: Исходный снимок экрана

Ниже приведен код конвейера, который сгенерировал указанный конвейер:

node {
   def staticTests = [:]
   staticTests["unit tests"] = {stage('unit'){ }}
   staticTests["static analysis"] = {stage('static'){ }}

   def tests = [:]
   tests["functional"] = {stage('functional'){}}
   tests["performance"] = {stage('performance'){}}
   tests["security"] = {stage('security'){}}

   stage('prepare'){}
   stage('tests'){parallel(staticTests)}
   stage('build'){}
   stage('int'){}
   stage('regression'){}
   stage('qa'){}
   stage('tests'){ parallel(tests) }
   stage('prod'){}
}

Какие изменения помогут мне создать конвейер, как хотелось бы на модифицированном скриншоте, вставленном выше? Возможно ли это сегодня с конвейерами Jenkins? Заранее благодарю за помощь!


person cp-    schedule 10.12.2016    source источник


Ответы (1)


Ну ты мог бы написать

node {
  stage('prepare') {}
  parallel main: {
    stage('unit tests') {}
    stage('build') {}
    stage('int') {}
    stage('regression') {}
    stage('qa') {}
    parallel functional: {}, performance: {}, security: {}
  }, 'static analysis': {}
  stage('prod') {}
}

который будет работать так, как вы запрашиваете (если я правильно понимаю), но Blue Ocean в настоящее время не может отображать его с надлежащим уровнем детализации, как указано в JENKINS-38442.

person Jesse Glick    schedule 14.12.2016