仅在批准请求并将其合并到CI / CD实现中的特定github分支时,我才尝试触发jenkins管道作业。
目前,每当我将PR合并到 release 时,创建的詹金斯工作都会在PR合并到 master 时被触发,而我只希望< em> release jenkins作业被触发。
奇怪的是 echo env.GIT_BRANCH cmd在 master 作业中并行显示分支名称为MASTER,当我仅合并PR时, release 作业将分支显示为RELEASE。释放。
尝试过的事情
环境: 詹金斯版2.176.3,Docker,Jenkins的通用Webhook触发器
我坚信条件何时会起作用,但对我而言不是,下面是我在Jenkinsfile中的部分 when 条件:
stage("Step 1: Build Docker"){}
stage("Step 2: Push to DockerHub"){}
stage("Step 3: Production Deployment"){
when {
expression { return params.current_status == "closed" && params.merged == true && env.GIT_BRANCH == "origin/master" }
}
steps{
-----
sh 'kubectl apply -f **.yaml'
}
}
在我的jenkinsfile中,我正在编写将docker映像部署到kubernetes集群的逻辑,因此我所寻找的只是基于分支准确触发作业。
关于如何使其工作的任何建议,我在这里缺少什么?
注意:我之前曾问过同样的问题,但由于不清楚,因此必须重写。