![](/img/trans.png)
[英]Azure DevOps pipeline get DACPAC from Solution with Asp.Net MVC + Database Projects
[英]Azure Devops : YAML Pipeline for independent Deployment of Single Tenant .Net MVC App for different clients
我需要有关为不同客户端独立部署 Single Tenant.Net MVC 应用程序创建 YAML 管道的建议。
如果你能指导我以下几点。
一般来说,如果你想部署到不同的环境,你可以为管道中的每个环境设置一个阶段。 然而,考虑到你有 150+ 种不同的配置,在流水线中设置 150+ 个阶段实在是太折磨人了。
如果所有部署都有相同的部署步骤(相同的脚本,相同的输入参数),但输入参数的值不同,您可以尝试在管道中使用多作业配置( 矩阵)。
通过这种方式,您无需为每个配置设置阶段或作业,您只需设置具有所有常见部署步骤的阶段或作业。 但是你需要列举你需要的所有配置(150+)。 运行管道时,它将生成 150 多个矩阵作业,部署步骤相同,但输入参数的值不同。
[更新]
只是好奇,在这种多作业配置的情况下,所有 150 多个安装都将在一个 go 中触发,对吧?
触发流水线运行后,将触发所有 105+ 个矩阵作业并排队。 但是,通常不会同时启动所有 150 多个作业以并行运行。 这取决于您设置的maxParallel
以及可以为运行分配多少可用代理。
我不能以 select 的方式开始部署,假设只有 5 个客户端。
如果您希望可以先为某些客户端执行部署,然后再为其他客户端执行部署,您可以尝试使用阶段。
例如,在stage_1
中,为前 5 个客户端执行部署作业(多作业配置)。 在stage_1
之后,为另外几个客户端启动stage_2
,然后为其他客户端启动stage_3
,等等。
您可以使用dependsOn
键设置阶段的执行顺序,使用condition
键设置阶段仅在满足指定条件时运行。
要查看更多详细信息,您可以查看“ 添加阶段、依赖项和条件”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.