使用通用Webhook插件提取基于请求的Jenkins作业触发器

时间:2020-10-28 05:57:57

标签: jenkins jenkins-pipeline jenkins-plugins google-kubernetes-engine continuous-deployment

仅在批准请求并将其合并到CI / CD实现中的特定github分支时,我才尝试触发jenkins管道作业。

目前,每当我将PR合并到 release 时,创建的詹金斯工作都会在PR合并到 master 时被触发,而我只希望< em> release jenkins作业被触发。

奇怪的是 echo env.GIT_BRANCH cmd在 master 作业中并行显示分支名称为MASTER,当我仅合并PR时, release 作业将分支显示为RELEASE。释放。

尝试过的事情

    Jenkins中的
  1. 分支机构功能
  2. Jenkinsfile中的
  3. when 条件(其作用很怪异,当目标为一个分支时,触发了阶段作业和生产作业)

环境: 詹金斯版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集群的逻辑,因此我所寻找的只是基于分支准确触发作业。

关于如何使其工作的任何建议,我在这里缺少什么?

注意:我之前曾问过同样的问题,但由于不清楚,因此必须重写。

0 个答案:

没有答案