【发布时间】:2016-12-07 11:31:38
【问题描述】:
我想在 ARM 模板中为我的部署设置环境,以确保跨机器的环境相同。有没有办法为使用 ARM 模板创建的虚拟机设置环境变量?
【问题讨论】:
标签: azure arm-template
我想在 ARM 模板中为我的部署设置环境,以确保跨机器的环境相同。有没有办法为使用 ARM 模板创建的虚拟机设置环境变量?
【问题讨论】:
标签: azure arm-template
您可以使用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')]"
}
}
}
【讨论】:
我认为没有直接的方法可以做到这一点(查看架构),但您始终可以实现一些自定义的东西,Script extension 或 DSC extension。
【讨论】: