【问题标题】:How to make CICD work for multiple repositories dependent with each other如何使 CICD 为相互依赖的多个存储库工作
【发布时间】:2018-11-25 18:20:18
【问题描述】:

如果系统使用来自多个存储库的代码进行部署,并且这些存储库是相互依赖的。即系统只有在将代码更新到一个存储库时才能工作,并且相应的代码同时更新到另一个存储库。那么在这种情况下,我应该如何使 CICD 工作?

顺便说一句,我已经为一个存储库创建了一个 AWS Codepipeline,我可以为另一个存储库做同样的事情。但是如果这两个存储库必须相互同步,我不确定我还需要对 Codepipeline 做什么。谢谢。

【问题讨论】:

  • 这是所有传统 CI 系统(基于提交后验证)的常见问题,因为它们依赖于单个存储库提交作为操作触发器,并且没有(简单的)方法来处理跨多个存储库的更改。相比之下,门控 CI 系统(基于预提交验证)用作触发候选变更集的提交,因此可以原生支持多 repo 变更集(但这只是其操作的一个积极副作用,还有其他更重要的优势)。免责声明 - 我是这样一个系统的创建者 - ApartCI。

标签: continuous-integration continuous-deployment aws-codepipeline


【解决方案1】:

有几种工具可以帮助您实现这种部署,其中之一是 deploybot。

由于我将 deploybot 用于我的工作流程,我通常会设置如下内容:

首先,我必须将主存储库连接到 Deploybot。然后 Deploybot 能够将其他存储库视为子模块并在 deploybot 内的容器上执行构建过程,这意味着来自不同子模块的所有代码都将被拉到一个容器中,您可以在该容器中对您的代码执行不同的命令,并在构建完成后相同的代码将部署到您的服务器。

【讨论】:

  • 谢谢约翰,因为你是唯一的答案,我接受它。我会试试的。
  • 不客气!希望您会发现 DeployBot 也很有用 :)
猜你喜欢
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多