奇怪的Azure资源组部署错误

时间:2018-11-27 21:53:18

标签: c# azure azure-devops

作为发布定义的一部分,我有一个特定的Azure资源组部署 具有创建或更新操作的任务。

启动新版本时,Azure资源组部署遇到以下错误

  

2018-11-27T20:52:54.1969890Z ## [错误]至少一个资源部署   手术失败。请列出部署操作以获取详细信息。   有关用法的详细信息,请参见https://aka.ms/arm-debug

     

2018-11-27T20:52:54.1978636Z ## [debug]已处理:## vso [task.issue   type = error;]至少一项资源部署操作失败。请   列出部署操作以获取详细信息。请参阅   https://aka.ms/arm-debug了解使用详情。

     

2018-11-27T20:52:54.1979036Z ## [错误]详细信息:

     

2018-11-27T20:52:54.1979251Z ## [debug]已处理:## vso [task.issue   type = error;]详细信息:

     

2018-11-27T20:52:54.1979531Z ## [错误]冲突:{

     

“代码”:“冲突”,

     

“消息”:“域名dev-xxxxcu-tm.trafficmanager.net已经   存在。请选择其他DNS前缀。“

     

}未定义

     

2018-11-27T20:52:54.1979791Z ## [debug]已处理:## vso [task.issue   type = error;]冲突:{%0D%0A“ code”:“冲突”,%0D%0A“消息”:   “域名dev-xxxxcu-tm.trafficmanager.net已经存在。请   选择一个不同的DNS前缀。“%0D%0A}未定义

     

2018-11-27T20:52:54.1979957Z ## [debug]任务结果:失败

     

2018-11-27T20:52:54.1980125Z ## [错误]创建或删除任务失败   更新模板部署。

     

2018-11-27T20:52:54.1980303Z ## [debug]已处理:## vso [task.issue   type = error;]创建或更新模板时任务失败   部署。

     

2018-11-27T20:52:54.1981450Z ## [debug]已处理:## vso [task.complete   result = Failed;]创建或更新模板时任务失败   部署。

     

2018-11-27T20:52:54.1991258Z ## [section]完成:Azure   部署:在以下位置创建或更新资源组操作   $(Release.EnvironmentName)-xxxxcu-rg

我已经查看过azure模板json,没有看到与此错误有关的任何内容。与流量管理器相关的变量如下:

"names-traffic-manager": {
  "type": "string",
  "metadata": {
    "description": "The name of the traffic manager instance"
  }
},

{
  "apiVersion": "2015-11-01",
  "type": "Microsoft.Network/trafficManagerProfiles",
  "name": "TrafficManager",
  "location": "global",
  "properties": {
    "profileStatus": "Enabled",
    "trafficRoutingMethod": "Priority",
    "dnsConfig": {
      "relativeName": "[parameters('names-traffic-manager')]",
      "ttl": 30
    },
    "monitorConfig": {
      "protocol": "HTTPS",
      "port": 443,
      "path": "/"
    }
  }
},

感谢您的输入...我还验证了流量管理器配置文件在Azure门户中是否正确

2 个答案:

答案 0 :(得分:0)

您需要更改流量管理器relativeName,您可以在此行进行:

"relativeName": "TrafficManager-unique-name-3245235",

您还可以使用参数来动态构建名称:

"relativeName": "[concat(parameters('names-traffic-manager'), '-traffic-manager')]

答案 1 :(得分:0)

由于外部供应商实施了WAF(Web应用程序防火墙),因此,http或https请求不再可以访问trafficmanager实例,而只能通过WAF允许的来源访问。

要变通解决此问题,我只需将TM变量的值设置为相关的Azure实例(dev.xxxx.org,test.xxxx.org和www.xxxx.org)。这已解决了该问题,并且该发行版现在可以正常运行。

感谢大家的帮助。这是我第一次使用Azure Pipelines,因此这是一个很大的学习过程,基本上被投入并被告知要游泳:D