在同一个Jenkins中,用一个job触发另一个job

上一篇我们说了如何在一个Jenkins远程触发另一个Jenkins的job。可是很多情况是我们只需要在 一个Jenkins中 利用一个job去触发另一个job。

在流水线pipeline中只需要使用build job语法即可。这样就可以实现当一个job进行了构建时自动触发另一个job进行构建。省去了一个一个去点。

Pipeline 脚本

pipeline{
    agent any
    stages {
        stage('Build') {
            steps{
                build job: 'AutoEmailTestGroups', parameters: [string(name: 'GroupRun',  value: "${GroupRun}"), string(name: 'COMPONENT_NAME', value: "${COMPONENT_NAME}")]
            }
        }
    }
}

上面代码为:

pipeline{

agent any

stages {

    stage('Build') {

        steps{

            build job: 'AutoEmailTestGroups', parameters: [string(name: 'GroupRun',  value: "${GroupRun}"), string(name: 'COMPONENT_NAME', value: "${COMPONENT_NAME}")]

        }

    }

}

}

解释:

我们希望远程构建的job通过传参的方式进行构建;这样可以方便更换另一个job的一些参数,比如环境。

参数化变量使用${paramName}进行替换。

在当前job中添加参数变量,可以写在pipeline脚本中,也可以更方便的勾选This project is parameterized选项,然后添加变量,如下图:

在同一个Jenkins中,用一个job触发另一个job_第1张图片

配置好以后,当你构建了job A以后,job B也会自动触发构建过程。需要的参数就是job A传过去的参数。如果不确定,可以在job B中打印(即 echo)一下,即可看到实际收到的变量了。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
在这里插入图片描述

你可能感兴趣的:(自动化测试,程序人生,软件测试,jenkins,运维,自动化测试,测试工具,程序人生)