我想在ARM模板中的部署中设置环境,以确保跨机器的环境相同。有没有办法为使用ARM模板创建的虚拟机设置环境变量?
答案 0 :(得分:7)
您可以在部署时使用Custom Script Extension来调用SETX
。将嵌套资源添加到VM资源的resources
数组中。此示例在目标计算机上调用SETX MyEnvironmentPrefix (environmentPrefix-parameter-value) /m
:
{
"apiVersion": "2017-12-01",
"type": "extensions",
"name": "SetEnvironmentVar",
"comments": "Sets the MyEnvironmentPrefix system env var",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
],
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"commandToExecute": "[concat('SETX MyEnvironmentPrefix ', parameters('environmentPrefix'), ' /m')]"
}
}
}
答案 1 :(得分:2)
我认为没有直接的方法(查看架构),但您可以始终实现自定义,Script extension或DSC extension。