关于Visual Studio:当从主要代码而不是从TFS 2017中的架子集代码生成工件时,如何触发发布管道?

How to trigger release pipeline when artifacts are generated from main code not from shelveset code in TFS 2017?

我正在使用TFS 2017并使用发布管道功能。

我已启用"连续部署",并且一旦有新的工件版本可用,它就会触发发布管道,而不管它是由架子集还是由主代码生成的,但是我仅在由主组件生成工件时才需要触发代码不是由架子集。

请注意-我无法在Build定义的发布任务中编写ne(variables ['Build.Reason'],'Shelveset'),因为手动测试人员需要工件。

感谢您的任何帮助

谢谢


以下是使用TFS的好方法,它使用工作流和基于任务的方法。基本上,您将定义一个标记,该标记是在构建基于某些条件成功完成时自动分配给构建的标记,在下面的示例中,仅在计划了构建的情况下,但您可以自定义条件以在除货架集之外的所有构建原因上运行如果需要,也可以构建。

在构建定义的最后,为" PowerShell脚本"创建一个新任务,并在"内联脚本"中添加以下内容:

写主机" ## vso [build.addbuildtag]触发释放"

进一步转到"控制选项",将"运行此任务"更改为自定义任务,然后放置以下内容:在此处可以找到更多变量,此页面详细介绍了可访问的不同build.reason变量。条件以及如何使用它们

and(succeeded(),in(variables ['Build.Reason'],'Schedule'))