如何 运行 对具有多个触发器的多个存储库执行相同的作业?

How to run the same job against multiple repositories with multiple triggers?

所以我正在积极尝试规避 bamboo 的工作限制,因为我有许多不活跃的存储库,当新平台更新出现或添加一次性新功能时,这些存储库偶尔会得到修复。

我希望我的存储库轮询发现我的一个存储库分支发生了变化,运行 工作,然后 presto-change-o 我们回到方块 1,我正在再次监听来自另一个更改的另一个存储库轮询更新。

示例:

这样做有可能吗?到目前为止,我发现的最佳解决方案 (meh) 是只创建一个具有顺序构建的作业,它基本上是 checkout/build/checkout/build/checkout/build 但这将导致我必须 运行 通过许多不必要的步骤来轮询一个存储库中只有一个更新。这些东西又不是经常变化。

您可以将多个存储库添加到构建计划中,并在存储库轮询触发器中选中添加到计划中的所有存储库。

要添加多个存储库,

  1. 开放计划配置编辑
  2. Select 第三个选项卡 "Repositories"
  3. 按"Add repository"按钮。
  4. 配置您的存储库并保存。
  5. Select 第四个选项卡 "Triggers".
  6. 打开您的存储库轮询触发器和 select 您在步骤 3-4 中添加的所有存储库。
  7. 保存触发器。

根据文档,存储库轮询必须检查所有配置的存储库:

https://confluence.atlassian.com/display/BAMBOO058/Triggering+builds

您还可以将额外的存储库添加到源代码检查任务中,并检查不同子目录中的每个存储库。 例如。对于 repos R1R2R3,您将拥有工作副本目录 ./W1./W2./W3.

然后由您决定 - 要么将汇编程序任务 T 克隆到 T1T2T3 以相应地从每个工作副本进行构建,然后它将在每次提交时对所有作业完成,它们都会生成具有相同内部版本号的工件,或者您可以添加一个 shell 脚本任务并编写一个 shell 脚本来发现最新的提交所有工作副本(假设它是 ./W2),为该工作副本子目录创建符号 link 作为 ./MySymbolicLink,您组装构建的工作将从 ./MySymbolicLink 开始文件夹。