2016-10-25 2 views
0

Мне нужно, чтобы процесс сборки TFS работал там, где я не контролирую агент или любое место для удаления.TFS Build и Powershell Post-Build Script

У меня есть сценарий пост-сборки, который показан Here ... но я не знаю, как его отредактировать, чтобы сохранить структуру папок в нескольких каталогах проектов.

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

foreach ($file in $files) 
{ 
    #Do something here to create the correct path on the drop server 
    Copy $file $Env:TF_BUILD_BINARIESDIRECTORY 
} 

Конечной целью является то, что вместо того, чтобы все сборки библиотеки DLL в одном каталоге я их структурировал в папках для каждого проекта.

+0

Какой тип вы используете? XAML или Vnext build? –

+0

XAML. У системы есть материал Vnext build, заблокированный по какой-то причине, по которой я не стал спорить, потому что в любом случае я не мог получить исключение. – Nevyn

+0

Какова структура папки назначения, которую вы хотите скопировать? –

ответ

0

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

Get-ChildItem -Path $Env:TF_BUILD_BUILDDIRECTORY -Filter *.*proj -Recurse | ForEach-Object { 
$projectfolder = $_.BaseName 
$currentpath = $_.Directory.ToString() 
$copypath = $currentpath + '\obj' 
$targetpath = $Env:TF_BUILD_BINARIESDIRECTORY + '\' + $projectfolder 
Write-Host "Copying files from $copypath to $targetpath" 
Copy-Item $copypath $targetpath -Recurse 
} 
Смежные вопросы