如何创建运行另一个构建定义的构建定义作为 VSTS 中的一个步骤
How to make a build definition which runs another build definition as one step in VSTS
所以我有 1 个默认的发布构建定义,我想有另一个与它同步并执行所有相同的步骤,但最后有一个额外的步骤。
我可以将另一个构建定义作为另一个构建定义中的步骤之一吗?
这个问题是针对 Visual Studio Team Services 的最新问题。
有两种方法可以运行在您当前的构建中创建另一个构建。
选项 1:将当前构建定义中的 PowerShell 任务添加到 queue another build by REST API
假设另一个构建 ID 是 5,那么您可以使用脚本添加 PowerShell 任务:
$body = @{
definition = @{
id = 5
}
}
$Uri = "http://account.visualstudio.com/DefaultCollection/project/_apis/build/builds?api-version=2.0"
$buildresponse = Invoke-RestMethod -Method Post -UseDefaultCredentials -ContentType application/json -Uri $Uri -Body (ConvertTo-Json $body)
选项 2:在市场中安装相关扩展
您可以为您的 VSTS 帐户安装一些扩展,然后您可以添加任务以排队另一个构建。比如Queue Build(s) Task, Trigger New Build, Queue New Build等等
现在似乎无需扩展即可通过 UI 启用此功能:https://github.com/MicrosoftDocs/vsts-docs/issues/561
所以我有 1 个默认的发布构建定义,我想有另一个与它同步并执行所有相同的步骤,但最后有一个额外的步骤。
我可以将另一个构建定义作为另一个构建定义中的步骤之一吗?
这个问题是针对 Visual Studio Team Services 的最新问题。
有两种方法可以运行在您当前的构建中创建另一个构建。
选项 1:将当前构建定义中的 PowerShell 任务添加到 queue another build by REST API
假设另一个构建 ID 是 5,那么您可以使用脚本添加 PowerShell 任务:
$body = @{
definition = @{
id = 5
}
}
$Uri = "http://account.visualstudio.com/DefaultCollection/project/_apis/build/builds?api-version=2.0"
$buildresponse = Invoke-RestMethod -Method Post -UseDefaultCredentials -ContentType application/json -Uri $Uri -Body (ConvertTo-Json $body)
选项 2:在市场中安装相关扩展
您可以为您的 VSTS 帐户安装一些扩展,然后您可以添加任务以排队另一个构建。比如Queue Build(s) Task, Trigger New Build, Queue New Build等等
现在似乎无需扩展即可通过 UI 启用此功能:https://github.com/MicrosoftDocs/vsts-docs/issues/561