Azure Развертывание службы приложений - невозможно переопределить настройки приложения. json - PullRequest
1 голос
/ 26 марта 2020

У меня есть задача Azure App Service Deploy в моем конвейере для развертывания моего приложения Web Api Core в Azure Service App. Задача имеет следующий yaml -

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'myserviceconnection'
    appType: 'webAppLinux'
    WebAppName: 'mytestwebapp'
    packageForLinux: '$(Build.ArtifactStagingDirectory)/**/*.zip'
    AppSettings: 'TestWebApp/TestWebApp/appsettings.json'

Я следил этот документ о том, как обновить настройки в .json файлах. Из того, что я мог понять, мне пришлось создать переменную в конвейере, которая соответствует ключу, который мне нужно обновить. Допустим, у меня есть Json структура в моих наборах приложений. json -

{
  "AllowedHosts": "*",
  "ServiceConfiguration": {
    "Key1": "value1",
    "Key2": {
      "Key3": "value3",
      "Key4": "value4"
    }
  }
}

Предположим, мне нужно обновить key1 до somenewvalue1 и key2.key3 до someothervalue3 и так далее. Поэтому я создал новые переменные, нажав кнопку «Переменные» на конвейере, и добавил Key1 и key2.key3 в качестве переменных с соответствующими значениями (в качестве примечания, значение является константной строкой, но я хочу, чтобы это было динамически c значение, которое будет предоставлено другой задачей в конвейере). Кроме того, я указал путь к файлу настройки приложения, как показано на рисунке ниже -

enter image description here

Но, когда я запускаю конвейер, я получаю следующее ошибка-

enter image description here

Error: BadRequest - Parameter name cannot be empty. (CODE: 400)

Я наткнулся на этот SO вопрос , а также создал настройку приложения на портале azure, но это также не сработало

Что я здесь не так делаю.

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

РЕДАКТИРОВАТЬ

На основе комментарий, я смог решить проблему, поэтому больше не было ошибок, и я смог проверить обновленную настройку на портале azure.

Однако, когда я вижу настройки приложения. json из Kudu внутри папки Site wwwroot в папке Browse Directory, я не вижу ее обновленной. Почему эти значения разные, и если да, то какое значение на самом деле считается.

Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Так что кажется, что JSON содержит настройки, а не путь к файлу.

Что касается файла настроек, который не обновляется, то это ожидаемо. Это обновляет параметры на вкладке «Конфигурация» службы приложений, которые будут переданы вашему приложению в качестве переменных среды. Он не будет обновлять файл. Вместо этого он устанавливает настройки, которые переопределяют настройки в файле (по крайней мере, по умолчанию, если вы используете хост по умолчанию). Он будет отменять только те настройки, которые вы указали.

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