VSTS中的依赖构建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSTS中的依赖构建相关的知识,希望对你有一定的参考价值。

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

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

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

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

  1. 在第一种方法中,构建将中断(因为服务代码存在问题),UI和服务代码更改都不会被签入。
  2. 在第二种方法中,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 文件中的无效字符?

VSTS 按分支查看构建状态

显示Salesforce测试结果是VSTS构建结果

VSTS:如何使用 REST API 获取由构建触发的发布 ID

仅当子目录中的文件已更改时,才运行VSTS构建任务以运行“npm build”