我们有一个要求,在 QA2 发布之后,我们必须触发一个构建,该构建将在 qa2 中执行一些活动并创建一个构建。如果构建失败,我们必须传递一些参数或更改一些参数,因此我们无法将其保留在正常的发布管道中。 我们想知道是否有任何方法可以保持检查,以便如果构建通过,则只允许将其部署到生产环境,否则不应允许。
是否有任何大门或检查可以使这成为可能?
当然,您可以在PROD阶段的“预部署条件”上使用Gates。您只需使用 Invoke REST API 检查即可调用 REST API“Latest - Get”。
转到“项目设置”>“服务连接”以创建通用服务连接。以下两个字段的值已重新布线。
https://dev.azure.com/{orgName}
。 {orgName}
是 Azure DevOps 组织的实际目标。在PROD阶段的“预部署条件”上,启用Gates并添加调用REST API检查以下配置。
连接类型:
Generic
通用服务连接:之前创建的通用服务连接的名称。
方法:
GET
标头(json):
{
"Content-Type":"application/json",
"Authorization": "Bearer $(system.AccessToken)"
}
URL后缀及参数:
/{projName}/_apis/build/latest/{definitionId}?api-version=7.0-preview.1
{projName}
是您项目的实际名称,{definitionId}
是构建管道的定义ID (QA2 Test Build
)。
高级 > 完成事件:
ApiResponse
高级 > 成功标准:
eq(root['result'], 'succeeded')