Jenkins是否可以配置为独立于其他作业运行一组作业



我在SCM中有以下Maven项目设置:

  • A
  • B(取决于A)
  • C(依赖于A和B,构建包含来自A和B的工件的存档)

我已经组织了Jenkins,所以有一组作业是A运行,然后是B,然后是C。例如,我有一组由SCM提交触发的构建(mvn-clean install),一组运行报告的构建(mvn-clean site),以及部署到我们的开发/测试/生产服务器的构建集(mvn clean install+运行一些插件进行部署)。

作业同时运行时会出现问题。例如:

  1. 如果C提交作业与A提交作业同时构建,则由于A提交作业可能正在写入本地m2 repo,因此C提交作业通常在读取本地m2 rep时遇到问题
  2. 如果Commit作业与Deploy作业同时运行,那么我担心它们正在向同一本地m2 repo进行写入和读取

理想情况下,我希望保持同时运行这些作业集的能力。

  1. 目前,当上游作业正在构建时,我正在阻止下游作业运行。这避免了一些问题。然而,我仍然有一个问题,C在构建的中间,然后A开始构建。启用"上游项目正在构建时的块构建"one_answers"下游项目正在构建中的块生成"是否存在任何已知问题
  2. 我可以配置Jenkins,使一组作业使用相同的Maven存储库吗?例如,我希望提交触发的作业使用一个存储库,并使用另一个存储库来进行开发部署作业。这是我想要的正确解决方案吗?还是有其他方法

回答问题的第一部分-

当上游项目正在构建时,您应该能够同时使用"块构建"
以及"下游项目正在构建时阻止构建"。

这将阻止Job-A在Job-B或Job-C已经运行时启动,
并且当作业-A或作业-B已经在运行时将阻止作业-C启动。

干杯

最新更新