【问题标题】:Install multiple Azure DevOps environment agents on server在服务器上安装多个 Azure DevOps 环境代理
【发布时间】:2021-06-10 08:28:23
【问题描述】:

我们有一个开发服务器托管来自多个 Azure DevOps 项目的 Web 服务。为了使用 yaml 部署管道,我们从部署池迁移到环境/资源。与部署池 neither environments nor resources can be shared between projects 不同。你可以投票here 来改变它。

我们按如下方式解决此问题。

  1. 为每个项目创建一个环境。
  2. 为每个环境添加开发服务器作为资源。
  3. 在服务器上为每个项目安装一个环境代理。

很遗憾,如果服务器上已经安装了环境代理,则会产生命名冲突。

The service already exists: vstsagent.MyDevOpsAccount..MyServer, it will be replaced
Error: Operation CreateService failed with return code 1072

【问题讨论】:

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


    【解决方案1】:

    TLDR:在powershell安装脚本中,将--agent $env:COMPUTERNAME改为--agent "$env:COMPUTERNAME-MyProject"

    原因好像是代理的windows服务名是determined as follows

    serviceName = StringUtil.Format(serviceNamePattern, accountName, settings.PoolName, settings.AgentName);
    

    它使用 Azure DevOps 组织名称、部署池名称和代理名称。由于组织名称是固定的,并且环境代理无法使用部署池名称,因此代理名称似乎是唯一的机会。

    【讨论】:

    • 嗨@MatthiasSchuchardt,感谢您分享您的经验。请将您的答案标记为该主题的解决方案。这对于正在寻找类似问题的解决方案的其他人也可能非常有帮助。谢谢。
    • @MatthiasSchuchardt,它确实有效!让我开心;)
    猜你喜欢
    • 2021-06-06
    • 2022-12-09
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多