繁体   English   中英

如何阻止 azure-devops 发布管道失败

[英]How to stop azure-devops release-pipeline from failing

我有一个部署构建的发布管道。 它设置为在构建完成后运行。 构建具有包含产品版本号的 BuildNumber。 我只想部署版本号以 .0 结尾的零构建

我尝试添加一个带有 Powershell 任务的 Stage,该任务检查版本号,如果它不是零构建则失败。 我还尝试在部署阶段添加一个检查版本号的门。

这两种检查方式都会导致发布管道失败,我收到一封电子邮件,告诉我它失败了。

如何使发布管道成功,但对非零构建不执行任何操作?

电源外壳是:

if ( "$(Release.Artifacts._TheBuild.BuildNumber)" -like ".0 " )
{
    exit 0
}
else
{
    exit 1
}

门调用 azure 函数并将 $(Release.Artifacts._TheBuild.BuildNumber) 作为参数传递。 azure 函数返回状态为真或假的 json,具体取决于版本号是否以零结尾。 门立即对此进行评估,最小重试和超时分别为 5 分钟和 6 分钟。

这可以通过control option下的Custom Condition来完成(对于每个任务,这都可用)。

您可以通过定义特定条件来运行特定任务来实现这一点。

在您的情况下,您希望在版本号为0时运行该任务。 所以你只需在control Options定义custom conditions来指定像

and(succeeded(), eq(variables['Release.Artifacts._TheBuild.BuildNumber'], '0'))

在此处输入图片说明

所以这个任务只有在条件满足时才会执行,否则任务将跳过它的执行。

如果我理解正确,您只想部署版本号以.0结尾的版本

您可以尝试添加发布管道持续部署触发器并添加仅通过标签搜索版本号的分支过滤器

为此,首先转到要更改的版本,单击版本名称旁边的 ... 省略号,然后单击编辑。

这应该会将您带到发布的管道视图。 在这里,单击小闪电图标以打开持续部署触发器编辑器:

Azure DevOps - 在发布管道上编辑持续部署触发器

这应该会打开右侧的编辑器。 在这里你会看到一个编辑构建分支过滤器的地方。 单击 + 添加按钮添加一个。

将弹出一个新行供您配置过滤器。 在这里,我相信您可以通过构建标记过滤您的版本号。

Azure DevOps - 将构建分支过滤器添加到连续部署触发器

显然,您还必须编辑您的构建管道以添加此标签,以便您可以在发布中的此处对其进行过滤。

您将在构建标签输入中添加此标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM