VSTS 如何触发包含多个发布定义的部署
VSTS How to Trigger a Deployment Containing Multiple Release Definitions
我们有 20 个版本定义需要一起部署以部署到一个环境中。
有没有办法 link 发布定义并手动触发 "global" 发布以将所有 20 个发布定义部署到特定环境?
此时我们手动启动每个版本,点击很多!
谢谢!!
没有触发多个版本定义的设置。
目前发布环境可以触发三种类型:发布后、环境后、手动。
如果您手动部署,您应该分别创建不同版本定义的版本。
解决方法是将来自不同发布定义的所有任务添加到一个发布定义中(将多个发布定义合并到一个发布定义中),然后为该发布定义创建一个发布.
您可以 create/manage 通过 VSTS API 发布。
https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases
具体看"Start deployment on an environment"的例子。
示例场景可能如下所示
从 API
创建一个版本
POST https://{instance}/{project}/_apis/release/releases?api-version={4.0-preview.4}
响应 "A Release object" 将包含触发环境部署所需的关键元素。您需要发布 ID 和环境 ID。
在response中找到release ID会在response中返回,保存,这是你后面自动化部署环境的关键
假设创建的版本 ID 为 77,环境(生产)ID 为 3
最后一步是开始发布:
PATCH https://{instance}/{project}/_apis/Release/releases/77/environments/3
{
"status": "inProgress",
"scheduledDeploymentTime": null,
"comment": null
}
您可以拥有一个构建定义,并且 link 该构建定义适用于您的所有版本,并启用持续部署触发器。
每当构建完成时,将触发所有20个RD上的发布。
现在这个构建实际上可以产生一些有意义的工件,或者它可以充当所有发布定义的触发点。
我们有 20 个版本定义需要一起部署以部署到一个环境中。
有没有办法 link 发布定义并手动触发 "global" 发布以将所有 20 个发布定义部署到特定环境?
此时我们手动启动每个版本,点击很多!
谢谢!!
没有触发多个版本定义的设置。
目前发布环境可以触发三种类型:发布后、环境后、手动。
如果您手动部署,您应该分别创建不同版本定义的版本。
解决方法是将来自不同发布定义的所有任务添加到一个发布定义中(将多个发布定义合并到一个发布定义中),然后为该发布定义创建一个发布.
您可以 create/manage 通过 VSTS API 发布。
https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases
具体看"Start deployment on an environment"的例子。
示例场景可能如下所示
从 API
创建一个版本POST https://{instance}/{project}/_apis/release/releases?api-version={4.0-preview.4}
响应 "A Release object" 将包含触发环境部署所需的关键元素。您需要发布 ID 和环境 ID。 在response中找到release ID会在response中返回,保存,这是你后面自动化部署环境的关键
假设创建的版本 ID 为 77,环境(生产)ID 为 3
最后一步是开始发布:
PATCH https://{instance}/{project}/_apis/Release/releases/77/environments/3 { "status": "inProgress", "scheduledDeploymentTime": null, "comment": null }
您可以拥有一个构建定义,并且 link 该构建定义适用于您的所有版本,并启用持续部署触发器。
每当构建完成时,将触发所有20个RD上的发布。
现在这个构建实际上可以产生一些有意义的工件,或者它可以充当所有发布定义的触发点。