Создание слота веб-приложения Azure из шаблона ARM без копирования исходной конфигурации веб-приложения - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь создать слоты для веб-приложений с помощью шаблона ARM.

Мне удалось создать их, но похоже, что по умолчанию они создаются как копия текущего состояния веб-приложения.Этот результат приводит к тому, что мой слот наследует настройки приложения, строки подключения, виртуальные каталоги, ....

Вот пример воспроизведения, демонстрирующий поведение https://github.com/ggirard07/ARMSlotWebConfig.

. Вместо этого я хочу, чтобы мой слот был чистым и свежим, что является поведением Azure портала по умолчанию.Портал может позволить пользователю выбрать поведение, указав значение "configSource": "",, которое он публикует при создании слота.

Есть ли способ добиться того же самого из шаблона ARM?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Чтобы предотвратить копирование настроек из производственного приложения, просто добавьте пустой объект siteConfig в слот properties.например,

    {
      "apiVersion": "2015-08-01",
      "type": "slots",
      "name": "maintenance",
      "location": "[resourceGroup().location]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites/', variables('webSiteName'))]"
      ],
      "properties": {
        "siteConfig": { }
      }
    }

Я отправил PR для иллюстрации в вашем репо.

0 голосов
/ 26 апреля 2018

Есть ли какой-либо способ добиться того же в шаблоне ARM?

Если я использую шаблон, который вы упомянули, я также могу воспроизвести его на своей стороне.Я также не могу найти способ выбрать поведение, указав «configSource»: «» напрямую. Вы можете дать отзыв команде Azure.

Я работаю с переопределениемКонфиг во время развертывания слота.Это работает правильно на моей стороне.Вы можете использовать следующий код для замены создаваемого кода слота WebApp в вашем шаблоне.

    {
      "apiVersion": "2015-08-01",
      "name": "maintenance",
      "type": "slots",
      "location": "[resourceGroup().location]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]"
      ],
      "properties": {
      },
      "resources": [
        {
          "apiVersion": "2015-08-01",
          "type": "config",
          "name": "connectionstrings",
          "location": "East US",
          "dependsOn": [
            "[resourceId('Microsoft.Web/Sites/Slots', variables('webSiteName'), 'maintenance')]"
          ],
          "properties": {}
        },
        {
          "apiVersion": "2015-08-01",
          "type": "config",
          "name": "web",
          "tags": {
            "displayName": "Website configuration"
          },
          "dependsOn": [
            "[resourceId('Microsoft.Web/Sites/Slots', variables('webSiteName'),'maintenance')]"
          ],
          "properties": {
            "virtualApplications": [
              {
                "virtualPath": "/",
                "physicalPath": "site\\wwwroot",
                "preloadEnabled": true,
                "virtualDirectories": null
              }
            ]
          }
        }

      ]

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...