Как направить мой выпуск / развертывание на основе файла web.config в TFS 2015 - PullRequest
1 голос
/ 08 июля 2019

У меня есть приложение .Net в TFS 2015. Я настроил CI и работает нормально.Сейчас я настраиваю CD для приложения.В зависимости от переменной в файле web.config мне нужно выбрать путь развертывания.

<configuration>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="ApplicationID" value="1" />
  </appSettings>
</configuration>

Например:

if ApplicationID= 1 then my deployment path should be server1:\Deploy\abc    
if ApplicationID= 2 then my deployment path should be server1:\Deploy\xyz    
if ApplicationID= 3 then my deployment path should be server2:\Deploy\mns    
if ApplicationID= 4 then my deployment path should be server2:\Deploy\bvc

Как настроить этот сценарий?

Задача развертывания - Windows Machine File Copy.Пожалуйста, предложите, если необходимо изменить задачу.

enter image description here

1 Ответ

1 голос
/ 08 июля 2019

Вы можете добавить задачу PowerShell, которая читает значение из XML, а затем создать новую переменную среды с указанием пути к серверу в зависимости от идентификатора приложения, в задаче развертывания используйте эту переменную:

[xml]$xmlObject = Get-Content "path/to/xml/file"
$appId = $xmlObject.configuration.appSettings.add.Where({ $_.key -eq "ApplicationID" }).value
$serverPath = ""
switch ($appId)
{
    1 { $serverPath = "server1:\Deploy\abc" }
    # Add here all the values
}

# Create the new variable:
Write-Host "##vso[task.servariable variable=serverPath]$serverPath"

Теперь в задаче развертывания используйте переменную $(serverPath).

...