Как заменить элемент строки подключения - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть проблема, которую я не могу решить с помощью XML Transform. Мой web.config содержит следующее

<connectionStrings>
    <add name="SQLConnString" 
         connectionString="yada yada" 
         providerName="System.Data.SQLClient"/>
</connectionStrings>

Мой сервер QA и выше имеет этот

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
    <EncryptedData>
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
    </EncryptedData>
</connectionStrings>

Какую задачу я использую в DevOps для достижения такого преобразования или как лучше всего go об этом виде трансформации.

j c

1 Ответ

0 голосов
/ 18 февраля 2020

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

steps:
- task: FileTransform@1
  displayName: 'File Transform: '
  inputs:
    folderPath: '$(System.DefaultWorkingDirectory)'
    enableXmlTransform: true
    xmlTransformationRules: '-transform **\*.Dev.config -xml **\*.config'
    fileType: xml

Для правил синтаксис в этом определении задачи, пожалуйста, следуйте:

-transform <path to the transform file> -xml <path to the source file> -result <path to the result file>

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


Обновление от 20.02.2020:

Судя по вашим комментариям, проблема в том, чтобы применить преобразование файла к настроенному файлу преобразования. Хотя у вас есть метод powershell, но я также помогу вам написать файл преобразования, чтобы вы могли иметь больше выбора здесь.

<connectionStrings xdt:Transform="Remove">
  <add name="SQLConnString" 
       connectionString="yada yada" 
       providerName="System.Data.SQLClient" />
</connectionStrings>

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider" xdt:Transform="Insert">
  <EncryptedData>
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" xdt:Transform="Replace"/>
    </EncryptedData>
</connectionStrings> 

Вы можете увидеть мой результат преобразования:

enter image description here

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