Выполнение параллельных внутренних шагов этапа в декларативном jenkins - PullRequest
1 голос
/ 28 мая 2020

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

stages {
   stage('partent stage 1'){
      something here
   }
   stage('parent stage 2') {
      steps {
         // common code for parallel stages

         parallel {
            stage ('1'){
               // some shell command
            }
            stage('2') {
               // some shell command
            }
         }

      }
   }
}

1 Ответ

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

Для выполнения общего кода вы можете определять переменные и функции вне декларативного конвейера:

def foo = true

def checkFoo {
  return foo
}

pipeline {
  stage('parallel stage') {
    parallel {
      stage('stage 1') {
        steps {
          script {
            def baz = checkFoo()
          }
          sh “echo ${baz}”
        }
      }
      stage('stage 2') {
        steps {
          script {
            def baz = checkFoo()
          }
          sh “echo ${baz}”
        }
      }
    }
  }
}

Вы также можете написать общую библиотеку , которую можно использовать во всех или некоторых вакансии.

Я удалил свой первый ответ, так как он был чистым BS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...