Build 使用分支合并策略(拉取请求)生成企业产品的定义

Build 使用分支合并策略(拉取请求)生成企业产品的定义,build,msbuild,azure-devops,azure-pipelines,Build,Msbuild,Azure Devops,Azure Pipelines,从过去两年开始,我一直在开发一款软件产品。这一切都是从头开始建造的。最初只有一个构建定义和一个VSTS GITrepo。在开始的时候,构建时间只有4-5分钟,因为它只有很少的解决方案文件 在这段时间里,构建时间增加到了一个小时,因为在过去两年中添加了大量代码。我还启用了门控签入。这意味着开发人员必须构建一切,只需在一个小组件中进行一个小的代码更改。我想知道 如何有效地启用门控签入,以便我不必构建整个产品。它应该只生成已更改的项目。假设变更项目没有直接引用到其他项目 我正在考虑将单个回购协议分解为

从过去两年开始,我一直在开发一款软件产品。这一切都是从头开始建造的。最初只有一个构建定义和一个VSTS GITrepo。在开始的时候,构建时间只有4-5分钟,因为它只有很少的解决方案文件

在这段时间里,构建时间增加到了一个小时,因为在过去两年中添加了大量代码。我还启用了门控签入。这意味着开发人员必须构建一切,只需在一个小组件中进行一个小的代码更改。我想知道

  • 如何有效地启用门控签入,以便我不必构建整个产品。它应该只生成已更改的项目。假设变更项目没有直接引用到其他项目

  • 我正在考虑将单个回购协议分解为多个回购协议,每个回购协议都有自己的构建定义。对于一种产品,这是一种标准的回购方法吗?有谁能告诉我如何建造大型企业产品。我使用的是VSTS构建,不是jenkins


  • 如果您使用的是git,我假设当您说门控签入时,您使用的是拉请求。有关拉取请求的更多信息

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

    将你的回购协议分解为多重回购协议确实是你必须做出的决定。在这方面没有好的或坏的方法

    Microsoft it self在不同的团队中对此有不同的方法。VSTS团队使用一个单一的git回购。Skype团队使用多个回购协议。Windows团队也使用多个回购协议


    多个repo可以缩短构建时间并在软件组件之间创建隔离级别,但它们将为开发人员带来更复杂的工作方式,因为如果它们在多个repo中工作,他们必须签出不同的repo。管理员还必须设置更多的分支策略,等等。

    如果是Git回购,您如何使用门控签入?你说的是分支机构政策吗?你是对的,我的意思是我有分支机构合并政策。