Как задать переменные среды в шаблонах Azure ARM
Я хочу настроить среду в моих развертываниях в ARM-шаблоне, чтобы гарантировать одинаковую среду на всех машинах. Есть ли способ установить переменные среды для виртуальной машины, созданной с помощью шаблона ARM?
2 ответа
Решение
Windows
Вы можете использовать Custom Script Extension для вызова SETX
во время развертывания. Добавить вложенный ресурс в 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 или расширение DSC.