TFS 构建和 Powershell Post-构建脚本
TFS Build and Powershell Post-Build Script
我需要在我不控制代理或任何放置位置的地方运行 TFS 构建过程。
我有一个显示的 post-build 脚本 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 都放在一个目录中,而是将它们组织在每个项目的文件夹中。
以下是实现您想要的功能的简单脚本,您可以根据您的文件夹结构和要求对其进行更新。
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
}
我需要在我不控制代理或任何放置位置的地方运行 TFS 构建过程。
我有一个显示的 post-build 脚本 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 都放在一个目录中,而是将它们组织在每个项目的文件夹中。
以下是实现您想要的功能的简单脚本,您可以根据您的文件夹结构和要求对其进行更新。
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
}