Выполните шаги Parallel Jenkins и перейдите к следующему этапу независимо от состояния выполнения второго шага - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь выполнить сборку Jenkins Pipeline из устаревших заданий Upstream-Downstream.

    node () {
stage('Checkout') {
    <Code for checkout> 
    }
stage ('Support') {
    <Restore dependencies>
    <Restore build environment>
    }
    stages{
        parallel{
            stage ('Build and Archive'){
                stages{
                    stage ('BuildSolution') {
                        <Build Solution>
                        }
                    stage ('Signing') {
                        <Sign deliverables>
                        }
                    stage ('InstallerCreation') {
                        <Create deployment package>
                        }

                    stage ('CreateNgPkg') {
                        <Create SDK package>
                        }
                    }
                }
            stage ('SecurityScan'){
                <Execute scan on the complete source code>
                }
            }
        }
    }
}

Я хочу запустить stage ('Build') и stage (' Сканирование ') параллельно и после выполнения stage (' Build ') должно начаться stage (' CreateNgPkg ') без проверки или ожидания stage (' Сканирование ')


ОБНОВЛЕНИЕ:

Я пытался использовать вышеупомянутые вложенные этапы, чтобы достичь того, что мне было нужно, но выдает ошибку "Нет таких этапов метода DSL" этапы "среди шагов "при исполнении. Нет синтаксической ошибки, только это во время выполнения.

1 Ответ

0 голосов
/ 10 января 2020

То, что вы хотите сделать, - это выполнить набор этапов Build, затем CreateNgPkg параллельно со этапом Scan

. Это переводит следующий DSL Jenkins:

node () {
    stage ('Checkout') 
    {
        echo 'Checkout'
    }
    stage ('Support') 
    {
        echo 'Support'
    }
    parallel Build: {
        stage ('Build') 
        {
            echo 'build'
        }
        stage ('CreateNgPkg') 
        {
            echo 'CreateNgPkg'
        }
    }, secondStage: {
        stage ('Scan') 
        {
            echo 'scan'
        }
    }
}

Я лично предпочитаю декларативный dsl, который лучше документирован и может быть помечен https://jenkins.io/blog/2017/09/25/declarative-1/

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