使用分支合并策略构建企业产品定义(拉取请求)

时间:2018-03-12 11:52:24

标签: build msbuild azure-devops azure-pipelines

自从过去两年以来,我一直在研究软件产品。它全部是从头开始构建的。最初只有一个构建定义,其中包含一个 VSTS GIT repo。在开始时,构建时间仅为4-5分钟,因为它只有很少的解决方案文件。

在此期间,构建时间增加到一小时,因为在过去的两年中添加了大量代码。我也启用了门禁办理登机手续。这意味着开发人员必须构建所有内容,只需在小组件中进行小代码更改即可。我想知道

  1. 如何有效启用gated check-in,这样我就不需要构建整个产品。它应该只构建已更改的项目。假设没有将已更改的项目直接引用到其他项目。

  2. 我正在考虑将单个repo分成多个repo,每个repo都有自己的构建定义。这是一种标准方法,可以为一种产品提供多个回购吗?谁能告诉我一般如何建立大企业产品。我正在使用VSTS构建,没有jenkins。

1 个答案:

答案 0 :(得分:1)

如果您正在使用git,我认为当您使用gated check-in时,您正在使用pull请求。关于拉取请求的更多信息here

对于CI构建,您可以检查哪些任务花费的时间更长,看看是否可以减少其中的一些任务。检查每个构建是否清理源文件。如果是这样,每次构建开始时都必须下载完整的存储库。如果是这种情况,请将该配置更改为不每次清理源。

将您的回购分解为多重回购方式确实是您必须做出的决定。对此没有好的或坏的方法。

微软自己在不同的团队中有不同的方法。 VSTS团队使用一个monolitic git repo。 Skype团队使用多个回购。 Windows团队也使用多个存储库。

多个存储库可以减少构建时间并在软件组件之间创建隔离级别,但它们将为开发人员带来更复杂的工作方式,因为如果他们在多个存储库中工作,则必须检出不同的存储库。管理员还必须设置更多分支策略,因此需要设置一个。

相关问题