首页 > 解决方案 > 当从 TFS 2017 中的主代码而不是搁置代码生成工件时,如何触发发布管道?

问题描述

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

我已启用“持续部署”,一旦有新的工件版本可用,它就会触发发布管道,无论它是由搁置集还是由主代码生成,但我只需要在工件由主代码生成时触发,而不是由搁置。

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

任何帮助表示赞赏

谢谢

标签: visual-studiotfsazure-devopscontinuous-deployment

解决方案


以下是采用工作流和基于任务的方法的 TFS 的好方法。基本上,您正在定义一个标签,当构建根据某些条件成功完成时自动分配给构建时,在下面的示例中,仅当构建被安排时,但您可以自定义条件以在除搁置集之外的所有构建原因上运行如果您愿意,也可以构建。

在构建定义结束时,为“PowerShell 脚本”创建一个新任务,并在内联脚本中输入以下内容:

写主机“##vso[build.addbuildtag]TriggerRelease”

进一步向下转到控制选项并将“运行此任务”更改为自定义任务并输入以下内容:更多变量可以在这里找到,这是详细说明可访问的不同 build.reason 变量的页面。条件和使用方法可以在这里找到

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


推荐阅读