VSTS如何触发包含多个版本定义的部署

时间:2018-03-08 20:05:45

标签: azure-devops release azure-pipelines azure-pipelines-release-pipeline

我们有20个版本定义需要一起部署才能部署到环境中。

有没有办法链接版本定义并手动触发“全局”版本以将所有20个版本定义部署到特定环境?

此时我们手动启动每个版本,大量点击!

谢谢!

3 个答案:

答案 0 :(得分:4)

您可以通过VSTS API创建/管理版本。

https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases

具体查看“在环境中开始部署”的示例。

示例场景可能如下所示

  1. 从API创建发布

    POST https://{instance}/{project}/_apis/release/releases?api-version={4.0-preview.4}
    
  2. 响应“发布对象”将包含触发环境部署所需的关键元素。您需要发行版ID和环境ID。 在响应版本ID中找到这个将在响应中返回,保存它,这是您以后自动化环境部署的关键

  3. 假设创建的版本ID为77,环境(生产)ID为3

  4. 最后一步是开始发布:

    PATCH https://{instance}/{project}/_apis/Release/releases/77/environments/3
    
    {
        "status": "inProgress",
        "scheduledDeploymentTime": null,
        "comment": null
    }
    

答案 1 :(得分:1)

没有此类设置可触发多个版本定义。

目前,可以使用以下三种类型触发发布环境:发布后,环境后,仅限手动。

如果手动部署,则应分别创建不同版本定义的版本。

解决方法是将来自不同版本定义的所有任务添加到一个版本定义中(将多个版本定义合并到一个版本定义中),然后为版本定义创建一个版本。

答案 2 :(得分:0)

您可以在启用持续部署触发器的情况下,为所有版本创建构建定义和链接构建定义。

每当构建完成时,将触发所有20个RD上的释放。

现在,这个构建实际上可以产生一些有意义的工件,或者它可以作为所有版本定义的触发点。