2016-06-20 2 views
3

В прошлом я использовал преобразования web.config при ручном развертывании кода для установки значений и атрибутов, специфичных для среды. Я перехожу из специальных руководств по настройке среды в один TFS 2015 Build, развернутый в нескольких средах через Управление выпуском. Значения параметров среды, специфицированные в файле web.config, обозначены. This method существенно вставляет маркеры в значения настроек во время процесса сборки. При развертывании токены заменяются соответствующими значениями конфигурации определения дефиниции.Изменения в web.config с помощью управления выпуском TFS 2015

Этот метод является недостаточным атрибутом настройки не-настроек. Примеры этих преобразований включают:

<httpCookies requireSSL="true" xdt:Transform="Insert" /> 
<compilation xdt:Transform="RemoveAttributes(debug)" /> 
<httpRuntime xdt:Transform="RemoveAttributes(executionTimeout,maxRequestLength,useFullyQualifiedRedirectUrl,minFreeThreads,minLocalRequestFreeThreads,appRequestQueueLimit,enableVersionHeader)"/> 
<httpRuntime enableVersionHeader="false" maxRequestLength="12288" xdt:Transform="SetAttributes"/> 
<customErrors mode="On" xdt:Transform="SetAttributes"/> 

Каков наилучший способ обновления этих атрибутов во время выпуска?

ответ

6

Оба Web Deploy's parameters.xml method и трансформации могут использоваться с управлением выпуском. Трансформирование будет инициировано Build, и процесс замены токенов, созданных публикацией, будет вызван Release Management.

Для запуска преобразования в процессе сборки, вы можете сделать это одним из двух способов:

  1. Добавьте следующие параметры MSBuild, чтобы заставить преобразование произошло во время сборки

    /p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false

  2. Создайте профиль публикации, используя параметр MSDeploy Package, а затем запустите упаковку в сборке, используя следующие параметры MSBuild:

    /p:DeployOnBuild=true /p:PublishProfile=[nameOfProfile]

либо из указанных выше способов приведет к нормальной Web.config XDT, чтобы бежать. Если вам нужны другие файлы XML, которые нужно преобразовать, вам нужно будет сначала установить SlowCheetah.

Токен Заменить и параметры

Теперь, когда у вас есть сборки артефакт с запуска XDT, вы можете использовать token replacement и WinRM tasks от управления релизами. После развертывания он возьмет пакет Web Deploy из сборки и выполнит команду SetParameters. Хитрость заключается в том, чтобы взять файл SetParameters.xml и сначала заменить на нем замену токена, сначала заменив переменные среды выпуска.

2

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

ИМХО Существуют различные категории настроек, которые следует учитывать, давайте примером. Строка подключения базы данных изменяется в каждой среде, в то время как требование SSL должно быть включено для всех тестовых и производственных сред. В этой перспективе вы должны иметь настройки, применяемые как можно раньше, традиционно во время сборки и называемые сборками Debug/Release; и настройки в последнюю минуту, зависящие от среды, до настроек времени выполнения, например, функции переключения.

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

Смежные вопросы