一个 SCM 轮询多个作业以提高性能

One SCM poll for multiple jobs to improve performance

是否可以让 Jenkins 定期从 SCM(在我的例子中是 Subversion)检索代码,并且所有作业都使用这个更新的代码,而不是每次 运行 时重新轮询自己?

谢谢

这是实现它的一种方法:

假设您有 4 份工作:A、B、C、D。

作业 A 的配置:

  • Source Code Management 配置了 SVN 存储库详细信息。
  • Build Triggers 设置为 Poll SCM.
  • Post-build Actions 配置为构建作业 B、C、D。

工作 B、C、D 配置:

  • Source Code Management 设置为 None.
  • 未设置Build Triggers
  • 构建步骤中使用了来自作业 A 的工作区的代码。

此处作业 A 定期轮询 SCM 以获取更改。当检测到更改时,它会从 SCM 中提取最新代码并进行构建。 Post 构建,它会触发作业 B、C、D。
由于作业 B、C、D 配置为使用作业 A 工作区中的代码,因此它们使用的代码与作业 A 最近提取的代码相同。

我不确定 jenkins 是否有这样的内置功能。但即使有,我认为詹金斯方面的投票始终只是第二好的解决方案。最好尝试通知 jenkins 有关 SCM 的更改,并让 jenkins 决定构建哪些作业。 您只需调用 jenkins 的“notifyCommit”URL。有关详细信息,请参阅 https://plugins.jenkins.io/subversion/