我正在使用TFS 2017并使用发布管道功能。
我已经启用了“持续部署”,并且一旦有新的工件版本可用,它就会触发发布管道,而不管它是由架子集还是由主代码生成的,但是我只需要在由主组件生成工件时才触发代码而不是货架集。
请注意-我无法在Build定义的发布任务中编写ne(variables ['Build.Reason'],'Shelveset'),因为手动测试人员需要工件。
感谢您的帮助
谢谢
答案 0 :(得分:1)
以下是使用工作流和基于任务的方法的TFS的好方法。基本上,您将定义一个标记,该标记是在构建基于某些条件成功完成时自动分配给构建的,在下面的示例中,仅在计划了构建的情况下,但您可以自定义条件以在除货架集之外的所有构建原因上运行如果需要,也可以构建。
在构建定义的最后,为“ PowerShell脚本”创建一个新任务,并在“内联脚本”中添加以下内容:
写入主机“ ## vso [build.addbuildtag]触发释放”
进一步转到“控制选项”,然后将“运行此任务”更改为自定义任务,然后输入以下内容:可以找到更多变量here,此页面详细介绍了不同的build.reason变量,可以访问。条件及其使用方法请参见here
and(succeeded(),in(variables ['Build.Reason'],'Schedule'))