Установите параметр приложения службы приложений от Azure DevOps yaml - PullRequest
0 голосов
/ 29 апреля 2020

Мы используем AzureRmWebAppDeployment@4 для развертывания нашего веб-приложения в сервисе Azure App через файл yaml. Пока все хорошо.

Теперь мы хотим установить несколько настроек из yaml вместо использования файла *. 1016 * или. xml

В настоящее время мы делаем это вручную через Azure Портал -> Службы приложений -> Конфигурация -> Настройки приложения (см. Скриншот ниже)

Как мы можем сделать это программно из конвейера yaml?

Azure portal App Service settings

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Вы можете добавить новую задачу Настройки приложения в конвейерах,

Нажмите +, войдите в конвейер (добавьте новую задачу) и выберите 'Azure App Service Settings' и в настройках приложения для задачи добавьте необходимые параметры

enter image description here

1 голос
/ 29 апреля 2020

Будет непросто хранить переменные непосредственно в файле YAML, особенно в том же файле, что и конвейер, и настраивать конфигурацию службы приложений. Наверняка вы должны использовать Azure Настройки службы приложения задача:

- task: AzureAppServiceSettings@0
  displayName: Azure App Service Settings
  inputs:
    azureSubscription: $(azureSubscription)
    appName: $(WebApp_Name)
   # To deploy the settings on a slot, provide slot name as below. By default, the settings would be applied to the actual Web App (Production slot)
   # slotName: staging
    appSettings: |
      [
        {
          "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
          "value": "$(Key)",
          "slotSetting": false
        },
        {
          "name": "MYSQL_DATABASE_NAME",
          "value": "$(DB_Name)", 
          "slotSetting": false
        }
      ]
    generalSettings: |
      [
        {
          "name": "WEBAPP_NAME",
          "value": "$(WebApp_Name)",
          "slotSetting": false
        },
        {
          "name": "WEBAPP_PLAN_NAME",
          "value": "$(WebApp_PlanName)",
          "slotSetting": false
        }
      ]
    connectionStrings: |
      [
        {
          "name": "MysqlCredentials",
          "value": "$(MySQl_ConnectionString)",
          "type": "MySql",
          "slotSetting": false
        }
      ]

И вы можете использовать переменные из конвейера (или группы переменных) для подачи этой задачи или чтения их из другого файла. и программно установите переменные в задаче powershell, используя этот синтаксис:

- bash: |
    echo "##vso[task.setvariable variable=sauce]crushed tomatoes"

Но, пожалуйста, не забудьте сохранить свои настройки в Azure Key Vault. Таким образом, вы можете передать свою группу переменных и сохранить конфигурацию в безопасном месте. Пожалуйста, проверьте эту ссылку .

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