我有一个由CI触发的发布管道,我想在其中推送新版本的nuget软件包,如果该版本尚不存在。
为此,我有一个简单的命令行任务,该任务检查nuget.org上是否存在该nuget并将结果存储在环境变量中。
然后我可以为后续步骤设置条件,该条件仅在该值变量为true时才执行该步骤。
这一切正常,但是我想知道如何简单地停止发布过程并跳过所有随后的步骤,而又不一一设置其条件。
此外,如何通过任务将构建状态设置为“已取消”?
答案 0 :(得分:0)
您可以使用PowerShell任务取消当前的Build或Release:
写入主机“ ## vso [task.setvariable variable = agent.jobstatus;]已取消”
写主机“ ## vso [task.complete result =已取消;]完成”
因此,在发布管道中添加具有上述代码的Powershell任务,并在自定义条件下将其配置为仅在您不想上传NuGet时才运行,在此任务之后,所有其后的任务都将被取消。 / p>
PS -状态将为“成功”,但实际上,构建/发布将被取消。
如果要查看“已取消”状态,则需要使用Rest API,请检查此 PowerShell脚本。