首页 > 解决方案 > 是否有从 Jenkins 作业调用 Jenkinsfile 的选项(例如我们如何在管道中指定脚本路径)?

问题描述

如果上述情况不可行,有没有办法编写 groovy 脚本来在 Jenkins 作业中调用 Jenkinsfiles

标签: jenkins

解决方案


您可以从 Job A 调用 Job B 作为管道中的下游作业,甚至可以像这样将参数传递给它:

build job: 'CloudBees/Folder/To/JobB', propagate: false, wait: false, parameters: [[$class: 'StringParameterValue', name: 'PARAM_NAME', value: "${env.SOMEVALUE}"]]

我使用它仅在构建后成功子句中作业 A 结束时从作业 A 调用作业 B。成功子句仅在作业 A 的作业状态仍为 SUCCESS 时才执行。

post {
    success {
        script {
            build job: 'CloudBees/Folder/To/JobB', propagate: false, wait: false, parameters: [[$class: 'StringParameterValue', name: 'PARAM_NAME', value: "${env.SOMEVALUE}"]]
        }
    }
}

推荐阅读