Azure devops 在服务器上安装多个Azure DevOps环境代理

Azure devops 在服务器上安装多个Azure DevOps环境代理,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-yaml,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Yaml,我们有一个dev服务器,它托管来自多个azuredevops项目的webservices。为了使用yaml部署管道,我们从部署池迁移到了环境/资源。与部署池不同。你可以投票改变这一点 我们的工作如下 为每个项目创建一个环境 对于每个环境,添加dev服务器作为资源 在服务器上为每个项目安装一个环境代理 不幸的是,如果服务器上已经安装了environment agent,则会产生命名冲突 The service already exists: vstsagent.MyDevOpsAccount..M

我们有一个dev服务器,它托管来自多个azuredevops项目的webservices。为了使用yaml部署管道,我们从部署池迁移到了环境/资源。与部署池不同。你可以投票改变这一点

我们的工作如下

  • 为每个项目创建一个环境
  • 对于每个环境,添加dev服务器作为资源
  • 在服务器上为每个项目安装一个环境代理
  • 不幸的是,如果服务器上已经安装了environment agent,则会产生命名冲突

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

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

    原因似乎是代理的windows服务名称为

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

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

    Hi@MatthiasSchuchardt,感谢分享您的经验。请将您的答案标记为本主题的解决方案。这可能对其他正在寻找类似问题解决方案的人也很有帮助。谢谢。@MatthiasSchuchardt,它确实有效!让我开心;)