VSTS中的依赖构建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSTS中的依赖构建相关的知识,希望对你有一定的参考价值。
我有一个VSTS GIT存储库,所有UI,服务,代码都在同一个存储库中。成功构建会生成安装程序(.msi)以安装应用程序。
在一段时间内,我的存储库已经成长为很多代码。对于每个小代码更改和新构建获取触发器(gated check-in)。当前构建定义构建所有组件(UI和服务),即使更改仅在一个组件中也是如此。请注意,组件之间没有直接参考。总的来说,我认为它是维护存储库的单一方式。
我现在打算将GIT存储库拆分为一组存储库。每个repo都有自己的构建定义。现在考虑以下用例
UI和服务有变化,服务代码更改存在一些问题。当开发人员检查代码时,它将构建UI和服务。
- 在第一种方法中,构建将中断(因为服务代码存在问题),UI和服务代码更改都不会被签入。
- 在第二种方法中,UI构建将是成功的并且代码将被签入但是对于服务代码更改将被拒绝,因为构建将中断。
问题在VSTS中是否可以创建依赖的构建定义?我的意思是如果构建1(Repo1)失败然后拒绝构建2的代码更改(repo 2)
Atul Surekha
一种可能的方法可能是使用Trigger another build task并指定Condition
不同的构建定义之间没有依赖关系。
由于UI和服务是依赖的,因此您应该在相同的构建定义中构建和验证它们。
要减少构建时间,可以在构建期间设置私有构建代理并且不清理源(在获取源的“清理”框中选择false)
要在另一个存储库中获取代码,可以通过命令行任务调用git命令(例如git clone)。
以上是关于VSTS中的依赖构建的主要内容,如果未能解决你的问题,请参考以下文章
如果没有 VSTS 中的构建定义,是不是可以在 VSTS 中创建发布定义?
如何在 VSTS 构建期间使用 OctoPack 避免 XML 文件中的无效字符?