Как «НЕУСТАНОВИТЬ» сборку конвейера Jenkins, если тест Пестера не пройден? - PullRequest
0 голосов
/ 22 января 2020

У меня есть следующий Jenkinsfile для запуска теста Powershell Pester. Как получить результат компоновки 'UNSTABLE', если тесты на паттеров НЕ пройдены?

                stage('Version, Build and Test Updated Roles') {
                when {
                    allOf {
                        branch 'feature/ABC'
                        expression { currentBuild.currentResult == 'SUCCESS' }
                    }
                }
                steps {
                    powershell script: '''
                    try
                    {
                        $env:BRANCH_NAME
                        Invoke-Build -Task Version, BuildUpdatedRoles -VSTS -ErrorAction Stop
                    }
                    catch
                    {
                        Write-Output $PSItem
                        exit $LastExitCode
                    }
                    '''
                    }
                } 

Ответы [ 2 ]

0 голосов
/ 22 января 2020
                stage('Version, Build and Test Updated Roles') {
                when {
                    allOf {
                        branch 'feature/ABC'
                        expression { currentBuild.currentResult == 'SUCCESS' }
                    }
                }
                steps {
                    script {
                        powershell script: '''
                            try
                            {
                                $env:BRANCH_NAME
                                Invoke-Build -Task Version, BuildUpdatedRoles -VSTS -ErrorAction Stop
                            }
                            catch
                            {
                                Write-Output $PSItem
                                exit 1
                            }
                        '''
                    }
                }
            }
0 голосов
/ 22 января 2020

Вы можете установить результат построения с помощью currentBuild.result

                stage('Version, Build and Test Updated Roles') {
                when {
                    allOf {
                        branch 'feature/ABC'
                        expression { currentBuild.currentResult == 'SUCCESS' }
                    }
                }
                steps {
                    script {
                        try {
                            powershell script: '''
                    try
                    {
                        $env:BRANCH_NAME
                        Invoke-Build -Task Version, BuildUpdatedRoles -VSTS -ErrorAction Stop
                    }
                    catch
                    {
                        Write-Output $PSItem
                        exit $LastExitCode
                    }
                    '''
                        } catch (err) {
                            currentBuild.result = 'UNSTABLE'
                        }
                    }
                }
            }
...