我有一个VSTS GIT存储库,所有UI,服务和代码都在同一个存储库中。成功构建会生成安装程序(.msi)以安装应用程序。
在一段时间内,我的存储库已经长大了很多代码。对于每个小代码更改& new build get trigger(gated check-in)。即使更改仅在一个组件中,当前构建定义也会构建所有组件(UI和服务)。请注意,组件之间没有直接参考。总的来说,我认为它是维护存储库的单一方式。
我现在正计划将GIT存储库拆分为一组存储库。每个repo都有自己的构建定义。现在考虑以下用例
UI和&amp ;;服务,服务代码更改存在一些问题。当开发人员检查代码时,它将构建UI和&服务。
在第一种方法中,构建会破坏(因为服务代码有问题),UI和&也不会签入服务代码更改。
在第二种方法中,UI构建将是成功的&代码将被签入但是对于服务代码更改将被拒绝,因为构建将中断。
问题 在VSTS中是否可以创建依赖的构建定义?我的意思是如果构建1(Repo1)失败,则拒绝构建2(repo 2)的代码更改
Atul Sureka
答案 0 :(得分:1)
可能的方法是使用Trigger another build task并指定Condition
答案 1 :(得分:-1)
不同的构建定义之间没有依赖关系。
由于UI和服务是依赖的,因此您应该在相同的构建定义中构建和验证它们。
为了减少构建时间,您可以设置私有构建代理,并且在构建期间不清理源代码(在获取源代码的“清理”框中选择false)
要在另一个存储库中获取代码,可以通过命令行任务调用git命令(例如git clone)。