Jenkins:如何使用参数跳过管道并行步骤?

时间:2017-05-12 08:48:23

标签: jenkins jenkins-pipeline

我有一个管道,可以并行运行一系列不同的测试。有时其中一个测试失败,我只想重新启动该测试。在使用管道之前,我使用了Matrix Reloaded插件来实现这一目标。我想用管道实现同样的目标,我相信实现这一目标的一种方法是通过构建参数。

我有以下管道:

pipeline {
    agent any

    parameters {
        booleanParam(name: 'RUBY_LINUX', defaultValue: true, description: 'Ruby unit tests on Linux')
        booleanParam(name: 'RUBY_MACOS', defaultValue: true, description: 'Ruby unit tests on macOS')
    }

    stages {
        stage('test') {
            steps {
                parallel(
                    'Ruby unit tests on Linux': {
                        node('linux') {
                            if (params.RUBY_LINUX) {
                                echo 'Ran test.'
                            } else {
                                echo 'Skipped test.'
                            }
                        }
                    },
                    'Ruby unit tests on macOS': {
                        node('macos') {
                            if (params.RUBY_MACOS) {
                                echo 'Ran test.'
                            } else {
                                echo 'Skipped test.'
                            }
                        }
                    }
                )
            }
        }
    }
}

但这给了我一个错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 24: Expected a step @ line 24, column 13.
               if (params.RUBY_LINUX) {
               ^

WorkflowScript: 41: Expected a step @ line 41, column 13.
               if (params.RUBY_MACOS) {
               ^

我该如何解决这个问题?

0 个答案:

没有答案