我正在尝试使用ARM模板创建虚拟机。 我已在自己的Visual Studio中添加了ARM模板,并已签入Azure Repos。 在运行发布管道时,我收到以下错误:
InvalidDomainNameLabel:域名标签$(dns)无效。它必须符合以下正则表达式:^ [a-z] [a-z0-9-] {1,61} [a-z0-9] $。 []
下面是parameter.json文件:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminUsername": {
"value": "Myadmin"
},
"dnsNameForPublicIP": {
"value": "mynewdevvmbox003"
}
}
}
dns名称“ mynewdevvmbox003”与正则表达式要求匹配,但仍然出现此错误。
答案 0 :(得分:1)
InvalidDomainNameLabel:域名标签$(dns)无效。
根据此错误消息,此任务服务器获得的域名值为$(dns)
,而不是mynewdevvmbox003
。
我认为您应该在Azure resource group deployment
任务的 Override模板参数中指定覆盖参数值,例如-dnsNameForPublicIP $(dns)
。
如果确实这样指定,则不会再解析parameter.json中的值。因为覆盖内容的优先级比parameter.json高。这里,dns
是管道变量。
请确保在模板参数中选择parameter.json
文件:
并且,不要在任务的替代模板参数中再次指定adminUsername
和dnsNameForPublicIP
。