Получить только проверенные файлы из TFS как часть сборки TFS - PullRequest
0 голосов
/ 31 августа 2018

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

Может сценарий powershell? Помогите пожалуйста

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Для этого вы можете добавить задачу скрипта Powershell в определение вашей сборки. Простой скрипт для вашей справки:

$changesetid = $Env:Build_SourceVersion
$TFSURI = $Env:System_TeamFoundationCollectionUri
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($TFSURI)
$vcs = $tfs.GetService("Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer")
$cs = $vcs.GetChangeset($changesetid)
foreach ($change in $cs.Changes)
{
    $change.Item.DownloadFile('D:\a\test\' + $change.Item.ServerItem.Substring(1))
}

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

И вам также необходимо импортировать клиентскую библиотеку TFS, чтобы использовать этот сценарий. Подробную информацию см. По этой ссылке: PowerShell и TFS: основы и последующие вопросы .

0 голосов
/ 31 августа 2018

Это невозможно в TFS 2015. В TFS 2017 появилась возможность «не синхронизировать источники», после чего вы можете выполнить свою собственную операцию get. Можно попытаться скрыть весь репозиторий на вкладке репозитория, а затем создать определение триггера CI TFVC Включить на вкладке триггера, чтобы воссоздать это поведение.

Затем вы можете использовать опцию tfpt getcs, чтобы получить изменения набора изменений. Вы должны иметь возможность получить версию из переменной builds Build.SourceVersion. Вы можете получить tfpt, установив Team Foundation Server Power Tools 2015 и Team Explorer 2015 на сервер сборки.

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