【问题标题】:TFS Build and Powershell Post-Build ScriptTFS 构建和 Powershell 构建后脚本
【发布时间】:2016-10-31 11:03:31
【问题描述】:

我需要让 TFS 构建过程在我不控制代理或任何放置位置的情况下工作。

我有一个显示为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 放在一个目录中,而是将它们构建在每个项目的文件夹中。

【问题讨论】:

  • 您使用的是哪个版本? XAML 还是 Vnext 构建?
  • XAML。由于某种愚蠢的原因,系统将 Vnext 构建的东西锁定了,我没有费心争论,因为无论如何我都无法获得例外。
  • 您要从中复制的目标文件夹的结构是什么?
  • 解决方案名称/项目名称。解决方案中有很多项目,我希望所有 dll 和 exe 都按项目正确排序,而不是转储到单个 bin 中。

标签: powershell tfsbuild


【解决方案1】:

以下是实现您想要的功能的简单脚本,您可以根据您的文件夹结构和要求对其进行更新。

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
}

【讨论】:

    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多