Azure devops 如何同步Azure DevOps管道阶段的运行?
我有一个基于YAML的Azure DevOps管道。在这个管道中,我有几个阶段,每个阶段代表一个环境的部署。这包括在Azure中提供基础设施、卸载应用程序以及运行自动验收测试 工程师可以从多个分支运行手动管道,也可以让主分支触发管道并行运行。这意味着环境部署阶段可以跨管道的多个运行实例并行运行Azure devops 如何同步Azure DevOps管道阶段的运行?,azure-devops,continuous-integration,yaml,Azure Devops,Continuous Integration,Yaml,我有一个基于YAML的Azure DevOps管道。在这个管道中,我有几个阶段,每个阶段代表一个环境的部署。这包括在Azure中提供基础设施、卸载应用程序以及运行自动验收测试 工程师可以从多个分支运行手动管道,也可以让主分支触发管道并行运行。这意味着环境部署阶段可以跨管道的多个运行实例并行运行 我想让stage等待成为唯一正在运行的实例。使用YAML管道解决此问题的最佳方法是什么?您可以在管道中为环境配置独占锁 转到Azure DevOps>您的组织>您的项目>管道>环境 选择(或创建)要同步部
我想让stage等待成为唯一正在运行的实例。使用YAML管道解决此问题的最佳方法是什么?您可以在管道中为环境配置独占锁
azure pipelines.yaml中使用的阶段
在azure pipelines.yaml
中,您应该使用deployment
作业中的environment
字段按名称引用该环境
下面是一个名为staging
的环境部署示例。
在门户中创建环境时,应在上述步骤中使用相同的名称
阶段:
-阶段:部署
工作:
-部署:部署登台
环境:登台
战略:
跳动:
部署:
步骤:
-结帐:self
-脚本:deploy-script.sh
一些额外资源:
您所说的“我想让一个阶段等待成为唯一运行的实例”是什么意思?如果您正在寻找强制阶段并行运行的方法,请检查,您将看到将dependsOn:[]
属性添加到阶段将导致它们并行运行。或者我误解了你的问题?你好,杨。我不是指在单个管道实例的上下文中,而是指在管道的所有实例中。我不希望我的管道一次运行多个“部署到QA”阶段。我只希望该阶段的一个实例运行。如果您的意思是希望按顺序(一次一个)在并行运行的管道实例中运行阶段“Deploy to QA”,我认为这是不可能的,因为这些实例中的阶段没有这样的直接关系来强制它们按顺序运行。是的,类似这样的事情。我希望环境可以提供一些同步选项。我猜是典型的多线程问题。我们将不得不互相交谈:DIt很好地为用户提供了一个解决方案,但是粘贴带有少量其他内容的外部链接会产生一个脆弱的答案——也就是说,如果链接后面的内容发生变化或消失,那么您的答案也会随之改变或消失。考虑从链接中的概念来制定答案,除了张贴它们。@ WaitingForGuacamole感谢反馈。我刚刚更新了我的答案。