VSTS构建中分多个阶段跳过获取源代码和/或清除步骤

war*_*arp 5 tfs azure-devops azure-pipelines azure-pipelines-release-pipeline

在VSTS的构建和发布中,我现在试图将我的代码编译和测试分离到一个单独的阶段来进行构建计划。

第一阶段很好,它执行git clean并获取源代码和所有这些东西。但是,第二阶段应该在第一阶段完成后才开始执行。相反,它将运行git clean并重置并再次获取源代码。如果一个阶段是一个构建的一部分,为什么要这样做呢?我无法为自己的生活找到解决办法。

我也很可能错误地考虑了这一点,应该在发布管道或类似的东西中进行测试。

无论如何tl; dr如何关闭构建中第二阶段的获取源

Pat*_*SFT 7

获取源代码步骤和清洁设置独立于特定物相的。创建新定义时,它位于构建定义的顶部。

代理阶段是一种定义将在一个或多个代理上运行的任务序列的方法。在运行时,创建一个或多个作业以在与阶段属性中指定的需求相匹配的代理上运行。

代理阶段的配置中没有这样的相关设置。您无法关闭构建中第二阶段的获取源。

作为一种解决方法,您可以尝试关闭构建定义中的整个获取源步骤,并直接使用 powershell 脚本在单个代理阶段执行获取源。详细步骤请参考我在这个问题中的回复:是否能够忽略/禁用第一步在 vNext Build 中获取源代码?

此外,关于代理阶段的概念和功能,请参阅本教程:构建和发布管理阶段