VSTS中的依赖构建

问题描述 投票:1回答:2

我有一个VSTS GIT存储库,所有UI,服务,代码都在同一个存储库中。成功构建会生成安装程序(.msi)以安装应用程序。

在一段时间内,我的存储库已经成长为很多代码。对于每个小代码更改和新构建获取触发器(gated check-in)。当前构建定义构建所有组件(UI和服务),即使更改仅在一个组件中也是如此。请注意,组件之间没有直接参考。总的来说,我认为它是维护存储库的单一方式。

我现在打算将GIT存储库拆分为一组存储库。每个repo都有自己的构建定义。现在考虑以下用例

UI和服务有变化,服务代码更改存在一些问题。当开发人员检查代码时,它将构建UI和服务。

  1. 在第一种方法中,构建将中断(因为服务代码存在问题),UI和服务代码更改都不会被签入。
  2. 在第二种方法中,UI构建将是成功的并且代码将被签入但是对于服务代码更改将被拒绝,因为构建将中断。

问题在VSTS中是否可以创建依赖的构建定义?我的意思是如果构建1(Repo1)失败然后拒绝构建2的代码更改(repo 2)

Atul Surekha

git build msbuild azure-devops azure-pipelines
2个回答
1
投票

一种可能的方法可能是使用Trigger another build task并指定Condition


-1
投票

不同的构建定义之间没有依赖关系。

由于UI和服务是依赖的,因此您应该在相同的构建定义中构建和验证它们。

要减少构建时间,可以在构建期间设置私有构建代理并且不清理源(在获取源的“清理”框中选择false)

要在另一个存储库中获取代码,可以通过命令行任务调用git命令(例如git clone)。

© www.soinside.com 2019 - 2024. All rights reserved.