【发布时间】:2018-08-17 07:22:12
【问题描述】:
我们有 20 个版本定义需要一起部署才能部署到环境中。
有没有办法链接发布定义并手动触发“全局”发布以将所有 20 个发布定义部署到特定环境?
此时我们手动启动每个版本,点击很多!
谢谢!!
【问题讨论】:
标签: azure-devops release azure-pipelines azure-pipelines-release-pipeline
我们有 20 个版本定义需要一起部署才能部署到环境中。
有没有办法链接发布定义并手动触发“全局”发布以将所有 20 个发布定义部署到特定环境?
此时我们手动启动每个版本,点击很多!
谢谢!!
【问题讨论】:
标签: azure-devops release azure-pipelines azure-pipelines-release-pipeline
您可以通过 VSTS API 创建/管理版本。
https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases
具体看“在环境中开始部署”的示例。
示例场景可能如下所示
从 API 创建一个版本
POST https://{instance}/{project}/_apis/release/releases?api-version={4.0-preview.4}
响应“A Release 对象”将包含触发环境部署所需的关键元素。您需要发布 ID 和环境 ID。 在响应中找到这个发布ID将在响应中返回,保存它,这是您以后自动化环境部署的关键
假设创建的版本 ID 为 77,环境(生产)ID 为 3
最后一步是开始发布:
PATCH https://{instance}/{project}/_apis/Release/releases/77/environments/3
{
"status": "inProgress",
"scheduledDeploymentTime": null,
"comment": null
}
【讨论】:
没有这样的设置来触发多个发布定义。
目前可以通过三种类型触发发布环境:发布后、环境后、仅手动。
如果您手动部署,您应该分别创建不同版本定义的版本。
解决方法是将来自不同版本定义的所有任务添加到一个版本定义中(将多个版本定义合并到一个版本定义中),然后为该版本定义创建一个版本。
【讨论】:
您可以拥有一个构建定义,并将该构建定义链接到您的所有版本,并启用持续部署触发器。
每当构建完成时,都会触发所有 20 个 RD 上的发布。
现在这个构建实际上可以产生一些有意义的工件,或者它可以作为所有发布定义的触发点。
【讨论】: