目前,我已经将GitHub连接到Jenkins,对于每一个拉请求,GitHub都会触发一个Jenkins作业,这似乎很好。我将其扩展为触发多个作业,比方说,对于一个新的拉请求,我有多个JenkinsFiles,它们基本上运行着不同的配置。
所有作业都被正确触发,但返回给github的状态被覆盖。对于1次公关,我将触发:
Job1
Job2
Job3但我只得到了Job3的状态:
continuous-integration/jenkins/pr-merge
continuous-integration/jenkins/branch我希望看到这样的情况:
continuous-integration/jenkins/job1
continuous-integration/jenkins/job2
continuous-integration/jenkins/job3我已经尝试在每个作业的JenkinsFile上设置一个自定义提交上下文,但它似乎不起作用。有什么解决办法吗?
谢谢
发布于 2022-04-27 10:31:31
github使用提交状态来标识生成结果。在您的例子中,它显示的是最新的,因为commit context是相同的。要在github中显示所有作业的结果,您必须更改每个作业的提交上下文。这可以通过官方的github status API (可找到这里 )来完成。
由于您正在使用Jenkins,所以您想要的东西可以通过使用名为GitHub拉请求生成器插件的现有插件来实现。它实现了github status API,并可以为每个作业设置不同的上下文。插件存储库可以找到这里。
根据来自插件问题页面的这讨论和audleman的回答,这是必须做的事情:
一次拉动请求触发多个作业 在作业配置中,转到:
Build Triggers -> GitHub Pull Request Builder -> Trigger Setup...将Commit Status Context更改为每个作业的唯一。
https://stackoverflow.com/questions/67523027
复制相似问题