#azure #azure-devops
#azure #azure-devops
Вопрос:
Есть ли способ, которым мы можем поменять местами только настройки приложения / строки подключения, но не код с Azure App Service slot
помощью azure DevOps pipeline
или Azure CLI
?
Ответ №1:
Мы пытаемся получить connectionstring непосредственно из слота и поменять его на prod, но не code.
Насколько я знаю, вы можете использовать Azure CLI для достижения этой цели.
Настройки приложений: настройки приложений az webapp config
Строка подключения: строка подключения конфигурации веб-приложения az
Вы могли бы использовать Azure CLI для перечисления appsettings / connectionstring. Затем вы можете использовать команду set для передачи значений в слот.
Вот мой пример (в задаче Azure Devops Azure CLI):
$appsettings=az webapp config appsettings list --name webappname -g ResourcesGroupName --slot slotname
$appsettings| Out-File "$(System.DefaultWorkingDirectory)appsettings.json"
az webapp config appsettings set -g ResourcesGroupName -n webappname --settings -slot slotname "@$(System.DefaultWorkingDirectory)appsettings.json"
$connectstring=az webapp config connection-string list --name webappname -g ResourcesGroupName --slot slotname
$test = $connectstring | ConvertFrom-Json
$test | Select-Object -Property Name,slotSetting ,type,Value | ForEach-Object {
Write-Host $_.Name $_.Value
$msg = $_.Name , $_.Value -join '='
echo $msg
az webapp config connection-string set --name webappname -g ResourcesGroupName -slot slotname -t mysql --settings $msg
}
Примечание: Вот известная проблема, связанная с набором строк подключения az webapp config. На данный момент он не может поддерживать установку файлов в параметре настроек.
Ответ №2:
Вы можете попробовать это,
Шаг 1: Создайте две отдельные среды в выпуске в соответствии с вашими потребностями!
Шаг 2. Создайте переменную с тем же именем, что и имя вашей строки подключения в вашем web.config, одна из которых предназначена для промежуточной среды, а другая — для рабочей.
Шаг 3. Добавьте задачу развертывания службы приложений Azure в каждую среду.
Затем вы можете использовать параметры преобразования и замены файлов и отметить, чтобы выполнить преобразование. Взгляните на преобразование XML и преобразование JSON
Комментарии:
1. Привет, Саджитаран, на самом деле мы пытаемся добиться уникального случая, когда это было бы невозможно. Мы пытаемся получить connectionstring непосредственно из слота и поменять его на prod, но не code.