Как развернуть настройки приложения функции в azure приложении функции, используя задачу развертывания службы приложения devops azure - PullRequest
1 голос
/ 04 мая 2020

У меня около 20+ (и растущих) настроек приложения в local.settings. json файл моего. net core azure функционального приложения. Единственный способ добавить их в функциональное приложение на портале в рамках развертывания - это использовать длинную каскадную строку всех наборов приложений в формате значения ключа, которая является очень грязной, подверженной ошибкам и сложной для обслуживания.

I ищу аккуратный способ, если возможно, добавить наборы приложений в приложение функции как часть процесса развертывания приложения функции.

PS Я использую terraform для создания приложения-функции и не заинтересован в использовании шаблонного решения ARM, которое еще сложнее.

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

При поиске решения я нашел эту вновь доступную кнопку с многоточием рядом с окном appsettings. При нажатии на него открывается новое диалоговое окно, в котором я могу добавить настройки приложения в парах ключ-значение в формате таблицы (аналогично группам переменных), каждая из которых находится в отдельной строке и легко поддерживается (каждая настройка может быть удалена). При нажатии OK генерируется строка всех параметров.

Я думаю, что этого должно быть достаточно для поддержания appSettings для приложения-функции.

Ниже приведен скриншот

enter image description here

0 голосов
/ 05 мая 2020

Если вы хотите добавить настройки приложения в приложение функции как часть задачи развертывания приложения функции. Вы можете использовать переменные, чтобы сделать его немного легче поддерживать. Вы можете проверить следующие шаги:

Определить ключ / значения настроек приложения в переменных конвейера. enter image description here

Вы также можете определить переменные в файле YAML:

variables:
  key1: value1
  key2: value2

Затем обратитесь к переменным в поле appsettings задачи развертывания службы приложения

- task: AzureRmWebAppDeployment@4
  inputs:
    AppSettings: '-key1 $(key1) -key2 $(key2)'

Другим обходным решением является использование Azure Задача настроек службы приложения для добавления настроек приложения в приложение-функцию. (Вам не нужно определять поле appSettings для задачи развертывания приложения, если задача App Service Settings используется для добавления настроек приложения)

- task: AzureAppServiceSettings@0
  displayName: Azure App Service Settings
  inputs:
    azureSubscription: $(azureSubscription)
    appName: $(FunctionApp_Name)
    appSettings: |
      [
        {
          "name": "key1",
          "value": "$(Key1)",
          "slotSetting": false
        },
        {
          "name": "key2",
          "value": "$(Key2)",
          "slotSetting": false
        },
        {
          "name": "MYSQL_DATABASE_NAME",
          "value": "$(DB_Name)", 
          "slotSetting": false
        }

Таким образом, используя вышеуказанные обходные пути, вам нужно только изменить значения в конвейере. переменные для изменения настроек приложения для приложения-функции.

Вы также можете использовать terraform для добавления настроек приложения в приложение-функцию. Пожалуйста, ознакомьтесь с подробными инструкциями в этом руководстве Автоматизация развертывания инфраструктуры в облаке с помощью Terraform и Azure Pipelines .

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