【问题标题】:Jenkins webhook triggered pipeline job but status unchangedJenkins webhook 触发了管道作业,但状态不变
【发布时间】:2020-07-01 02:10:05
【问题描述】:

我有一个管道,我想在部署到 uat 环境后运行 e2e 测试,e2e 测试在 gitlab 上运行。我想做的是让 gitlab 使用 webhook 来触发 jenkins 来决定构建是否可以投入生产。所以管道如下所示。

部署到 uat 后,我​​可以发送 webhook 在 gitlab 上触发 e2e 测试。然而,gitlab 可以将 webhook 发送给 jenkins,因为管道作业 e2e 收到了 webhook 并构建成功。它不会更改管道作业状态,因此,除非我们手动单击 e2e 作业上的触发器,否则我们无法继续部署到生产环境。而且我已经尝试使用currentBuild.currentResultcurrentBuild.result 似乎不起作用。

我应该怎么做才能解决这个问题?

更新

我没有使用 groovy 的新管道方式,而是像这样使用旧方式。但我认为这与我要在这里解决的问题无关。

让我提供有关该问题的更多详细信息。完成 e2e 测试后,我将以下请求从 gitlab 发送到 jenkins

curl "SERVER_URL/job/MY_XXX_PROJECT/view/Pipeline/job/X.X%20E2E%20my_e2e_test_result/buildWithParameters?token=xxxxxxxxxxxxxx&PARENT_BUILD_NUMBER=123&currentBuild.currentResult=SUCCESS&currentBuild.Result=SUCCESS"

这是管道,如果我在SERVER_URL/job/MY_XXX_PROJECT/view/Pipeline/job/X.X%20E2E%20my_e2e_test_result/ 中检查作业。该工作实际上是构建SUCCESS

但是,状态显示就像什么都没发生,如果不再次手动单击同一作业 (e2e) 上的触发按钮,我们将无法继续部署生产。

【问题讨论】:

  • 不确定你的意思。 Gitlab 应该调用 Jenkins webhook 来启动 e2e 作业,但由 Jenkins 决定构建的状态。您是否只是在为 Jenkins 工作寻找更新自身状态的方法?如果是这样,您使用的是脚本式还是声明式管道?
  • 在 jenkins UAT 的最后构建步骤中,我向 gitlab 发送了一个 post 请求以运行 e2e 测试。 e2e测试完成后,gitlab发送webhook给jenkins通知测试结果是成功还是失败。但是,当 jenkins 收到 webhook 并运行作业时,它不会更新作业的状态。我希望 jenkins 将作业状态更新为成功或失败。

标签: jenkins jenkins-pipeline webhooks


【解决方案1】:

如果您只是在为作业寻找更新其自身状态的方法,请使用unstableerror 步骤。

pipeline {
   agent any

   stages {
      stage('Hello') {
         steps {
            echo 'This job is now a success. All jobs are a success until marked otherwise'.
            //success 'This will fail. There's no such thing as a success step'
            unstable 'This stage is now unstable'
            error 'This job is now failed'
            unstable 'This job is still failed. Build results can only get worse. They can never be improved.'
         }
      }
   }
}

请注意,没有success 步骤之类的东西。可能是因为除非另有说明,否则所有工作都是成功的。并且工作的整体结果无法提高。请参阅 catchError here 的文档。

请注意,构建结果只会变得更糟,因此如果当前结果为 UNSTABLE 或更糟,则无法将结果更改为 SUCCESS。

【讨论】:

  • 我只是在问题中提供更多细节。谢谢你的帮助,但我还是卡在这里
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多