【问题标题】:How to queue build pipeline as task from release pipeline?如何将构建管道作为任务从发布管道排队?
【发布时间】:2018-10-15 16:41:24
【问题描述】:

项目中有一个其他人拥有的构建管道(它运行一个 shell 脚本任务不发布任何内容)。我拥有一个发布管道,并希望运行一个有效地“排队”他们的构建管道的工作。我无法添加扩展来执行此操作。无论我们如何达到这一点或最佳实践,有没有办法从 azure devops 的发布管道中的作业触发构建管道的构建?谢谢。

【问题讨论】:

  • 为什么不创建一个任务组,在他们的构建定义和运行 shell 脚本的发布定义之间共享?
  • @DanielMann 感谢您的快速回复。这绝对是我可以做到的方法之一,但理想情况下,我不会改变他们的构建管道,同时仍然捕捉未来的变化——改变他们的构建管道以使用任务组会给我的发布管道未来的变化,但需要他们的构建改变的管道
  • @PaulEpperson this 扩展怎么样?这样可以帮助你排队构建
  • 对不起@Jayendran 这是我想使用的扩展,但正如我提出的问题,我不能使用扩展(只是一个组织的东西)

标签: azure-devops azure-pipelines


【解决方案1】:

您可以使用 PowerShell 脚本通过 REST API 对构建进行排队:

 $BuildDefinitonId = {YourBuildDefinitonID}
 try
 {
 $body = @{ definition = @{id = $BuildDefinitonId} }
 $requestUrl = "https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=4.1" 
 $response = Invoke-RestMethod -Method Post -ContentType application/json -Uri $requestUrl -Body (ConvertTo-Json $body) -UseDefaultCredentials
 }
 catch
 {
  Write-Host "Failed to trigger build {$BuildDefinitonId}, Exception: $_" -ForegroundColor Red
 }

因此,在发布管道中使用此脚本添加一个 PowerShell 任务:

【讨论】:

  • 谢谢谢基。我会尝试,如果有效,我会接受你的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多