Последовательные этапы внутри параллели в синтаксисе скриптового конвейера - PullRequest
0 голосов
/ 14 февраля 2020

В моем Jenkinsfile я выполняю 2 этапа параллельно, и один из этих этапов будет состоять из нескольких других последовательных этапов. Когда я запускаю сценарий и проверяю конвейер в BlueOcean, эта последовательность этапов представляется в виде одного узла.

(упрощенный) сценарий выглядит следующим образом:

node {
    stage('Stage 1') {...}
    stage('Stage 2') {...}
    stage('Stages 3 & 4 in parallel') {
        parallel(
            'Stage 3': {
                stage('Stage 3') {...}
            },
            'Stage 4': {
                stage('Stage 4a') {...}
                stage('Stage 4b') {...}
            }
        )
    }
}

То есть в BlueOcean этот сценарий приводит к одному узлу для этапа 4, в то время как я sh вижу два узла, так как он состоит из двух последовательных этапов.

1 Ответ

2 голосов
/ 14 февраля 2020

Я тоже сталкивался с той же проблемой с помощью скриптовых конвейеров. Если вы в порядке с декларативными конвейерами, вы можете использовать это:

pipeline {
    agent any
    stages {
        stage('Stage 1') { steps {pwd()}}
        stage('Stage 2') { steps {pwd()}}
        stage('Stages 3 & 4 in parallel') {
            parallel {
                stage('Stage 3') { steps {pwd()}}
                stage('Stage 4') {
                    stages {
                        stage('Stage 4a') { steps {pwd()}}
                        stage('Stage 4b') { steps {pwd()}}
                    }
                }
            }
        }
    }
}

enter image description here

...