在我们的组织中,我们为每个存储库都设置了完整的管道(在yaml中构建,并使用使用部署组必须执行的ui进行发布)。我们必须通过管道将存储库分开,因为我们通常只是针对该服务进行发布,但是有时我们一次发布多个服务(这是发布之前的已知方式)。
当前,我们只有要运行的发布管道列表,我们手动运行每个管道。
我想知道是否有一种方法可以设置一些东西,以便在初始设置后一次单击就可以运行多个发布管道?
下面是id理想的操作步骤:
答案 0 :(得分:1)
您可以使用Trigger Azure DevOps Pipeline,然后创建另一个管道:
您可以为每个发行版创建一个变量,以指示要部署的工件的版本。
通过这种方式,一旦定义了该版本,您所需要的就是在运行该版本之前先对其进行编辑。
答案 1 :(得分:0)
作为另一个解决方法,您可以添加一个PowerShell任务,以通过REST API为不同的版本定义创建多个版本。
POST https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=5.0
示例powershell脚本以创建发布,如下所示:
#Define the variable and enter the release definition id that you want to trigger. For example, I want to manually trigger release pipelines 1 and 2 at once.
$ReleaseDefinitionID = 1,2
ForEach ($ID in $ReleaseDefinitionID)
{
Write-host "ID is" $ID
$token = "pat"
$url = "https://vsrm.dev.azure.com/{organization}/{project}/_apis/Release/releases?api-version=5.0"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$JSON = @"
{
"definitionId": $ID
}
"@
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -ContentType application/json -body $JSON
}