GHPRB:如果下游工作不使用GHPRB,是否可以在更新Pull Request时停止下游作业?

时间:2018-02-07 23:09:06

标签: jenkins jenkins-plugins

我有一个高级控制器任务,我打电话给#34;经理"。 Manager使用Github Pull Request Builder(GHPRB)处理启动多个下游作业。只有Manager使用该插件。

所有下游作业都使用以下选项:

Set GitHub commit status with custom context and message (Must configure upstream job using GHPRB trigger)

我遇到的情况是开发人员打开拉取请求(PR),之后他们想要进行更改,以便在下游测试完成之前推送第二次提交。

在这种情况下,管理员很容易停止,因为GHPRB在" Trigger Setup"中提供了内置功能。该功能是"取消构建更新"。

我想解决的问题是如何杀死下游工作。

如果同一作业的两个副本正在运行,您可以在Jenkins中停止作业。我想弄清楚的是:

如果我有三份下游"工作A"正在运行并且所有三个都在测试单独的pull请求,这太棒了!但是,如果其中两个工作正在测试相同的PR:

一个。我可以检测到他们都在测试相同的PR吗?

B中。如果在同一个PR上运行两个测试,我可以停止最老的工作以支持最近的工作吗?

℃。如果A和B可以使用Jenkins插件提供此解决方案吗?

d。如果A和B而不是C,我如何使用现有功能执行此操作?

1 个答案:

答案 0 :(得分:0)

  

是否可以使用其他插件或现有的Jenkins功能进行检查;如果有两个测试并且两者都具有相同的sha1环境变量,请停止第一个测试并构建最新的测试吗?

如果您的构建不是一个巨大的步骤,而是一系列步骤,您可以考虑在工作的每个步骤之间执行git fetch
如果你的工作被配置为拉取请求分支(as in here),使用像+refs/pull/*:refs/remotes/origin/pr/*这样的refspec,你可能会因为分支pull/aPullRequestID HEAD与${sha1}相比发生了变化