gpt4 book ai didi

azure - 在 Azure DevOps 发布管道中,如何将具有不同目标文件夹的部署组部署到多个 VM

转载 作者:行者123 更新时间:2023-12-04 01:15:20 25 4
gpt4 key购买 nike

我首先在 azure DevOps 中设置了发布管道,将 Windows 服务部署到只有一个虚拟机并设置了代理的部署组。我在部署文件夹的管道中设置了一个变量。

我现在正在尝试将其扩展为部署到 2 台服务器。我已将第二台服务器添加到部署组中,并且注册已成功。在此服务器上,部署需要转到不同的驱动器。

似乎没有办法让代理为变量指定不同的值。

我已经尝试在用户界面中进行谷歌搜索和拖网搜索,但到目前为止我什么也没找到。我想知道变量是否正确?

最佳答案

我要回答我自己的问题,因为解决方案实际上是 @Martin A @Tomasz Kaniewski 和 @Vito Liu-MSFT 善意提供的答案的组合,并进行了相当多的试验和错误。我希望这对其他人有帮助。

环境变量是识别部署文件夹的关键,因此我在每个虚拟机上设置了一个名为 AutomationDeploymentRoot 的系统环境变量

您必须在每个虚拟机上重新启动 Azure Pipelines Agent Windows 服务,然后环境变量更改才会生效!!

我发现不同任务之间对环境变量的支持非常不一致 - 它们似乎在脚本任务中运行良好,但在其他任务(例如 CopyFiles)中运行得不太好。

最可靠的方法是将环境变量复制到我在变量选项卡上设置的管道变量(deployment.root),如下所示

Screen Shot of variables

然后按照 Thomasz 和 Vito 的建议从脚本中设置变量

steps:
- script: |
@echo ##vso[task.setvariable variable=deployment.root]%AutomationDeploymentRoot%

displayName: 'Set Deployment Folder'

运行时,c:\temp\deploy 会被目标计算机的正确文件夹替换,并且一切都会变绿!

关于azure - 在 Azure DevOps 发布管道中,如何将具有不同目标文件夹的部署组部署到多个 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63561339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com