在VSTS构建和发布中,我现在正在尝试将代码编译和测试分离到构建计划的不同阶段。
第一阶段很好,它做了一个干净的git并得到了所有这些。但是,第二阶段应该在第一阶段完成后才开始执行。相反,它运行git clean并重置并获取源AGAIN。如果一个阶段是一个构建的一部分,为什么一个阶段会这样做?我无法为我的生活找到一种方法来解决这个问题。
我完全有可能错误地考虑这个问题,并且应该在发布管道中进行测试或类似的事情。
无论如何tl; dr如何关闭构建中辅助阶段的获取源
答案 0 :(得分:3)
获取源步骤和清除设置独立于特定代理阶段。当您创建一个新的时,它位于构建定义的顶部。
代理阶段是一种定义将在一个或多个代理上运行的任务序列的方法。在运行时,创建一个或多个作业以在符合阶段属性中指定的需求的代理上运行。
在代理阶段的配置中没有这样的相关设置。您无法关闭构建中的辅助阶段的获取源。
作为一种解决方法,您可以尝试关闭构建定义中的整个获取源步骤,并直接使用powershell脚本在单个代理阶段执行获取源。详细步骤请参阅我在这个问题中的回复:Is it able to ignore/disable the first step Get source in vNext Build?
此外,关于代理阶段的概念和功能,请参阅本教程:Phases in Build and Release Management