Как задать переменные среды в шаблонах 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.

Другие вопросы по тегам