Как зашифровать веб-конфигурацию конвейера выпуска Azure Devops

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

Я попытался использовать сценарий powershell для шифрования, как если бы я делал это непосредственно на сервере:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pe "connectionStrings" -app "/{app}" -site "{site}"

Но получите следующую ошибку: Конфигурация для виртуального пути «/{app}» и сайта «{site}» не может быть открыта.

Кто-нибудь еще сталкивался с этой проблемой или нашел другой способ шифрования строк подключения в конвейере выпуска?


person tolly42    schedule 21.08.2019    source источник


Ответы (2)


Попробовав сценарий, который предложил Леви, я попробовал с другим провайдером:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pef "connectionStrings" "{физический путь к вашему сайту}" -prov "DataProtectionConfigurationProvider"

Это сработало. Благодарю вас!

person tolly42    schedule 22.08.2019
comment
Это здорово, вы можете принять это как ответ - person Levi Lu-MSFT; 28.08.2019

Я получил эту ошибку, когда не указал правильное значение для -site. так что вы можете проверить правильность значения, которое вы указали для -site.

Но когда я сделал значение -site правильным. Я получил эту ошибку A configuration file cannot be created for the requested Configuration object .

Я исправляю это с помощью приведенного ниже сценария, проверьте этот obj">поток

aspnet_regiis -pef "connectionStrings" "{physical path to your website}"
person Levi Lu-MSFT    schedule 22.08.2019
comment
Я попробовал параметр -pef, как вы предложили, но затем получил следующую ошибку: Не удалось зашифровать раздел «connectionStrings» с помощью поставщика «RsaProtectedConfigurationProvider». Сообщение об ошибке от провайдера: Объект уже существует. - person tolly42; 22.08.2019