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