2

问题 我在 TFS 中有一个构建定义(我无法更改)。我正在自动化我们的文件收集过程,在这个过程中我需要执行这个构建定义,获取放置位置并将这些输出复制到所需的位置。

解决方案:我们已经有一个执行文件复制操作的批处理文件。所以我试图把所有东西都整合进去。我使用 TFSBuild.exe(命令行工具)开始构建。提供服务器路径、构建定义名称。构建成功完成。

我的问题是我无法获取当前执行的构建定义已将输出附加到放置位置的文件夹的名称(或任何构建完成详细信息)。我想在构建完成后获取Drop 文件夹的值。

(如果有更好/更简单的方法,那会很有帮助)

提前致谢。

4

3 回答 3

1

您可以将放置位置指定为使用 TFSBuild.exe 对构建进行排队的一部分。命令行上的“TFSBuild.exe help start”应该可以帮助您。

附带说明一下,如果您仍在使用批处理文件将文件从放置位置复制到其他地方进行打包,那么我认为该过程根本不是自动化的。自定义您的构建过程,使用 WIX 打包代码。在源代码编译结束后,您可以启动 WIX 包,您的构建的最终输出将是一个用于部署的 MSI!

于 2013-06-28T16:40:52.963 回答
0

如果我完全理解您的问题,$env:BUILD_ARTIFACTSTAGINGDIRECTORY 应该可以帮助您!感谢您发布这个问题!

于 2016-08-30T11:18:04.213 回答
-1

查看互联网上的所有输入和评论,似乎无法从 TFSBuild.exe 中提取更新的内部版本号/名称/放置文件夹名称。

所以,我管理了一个Workaorund。(有点乏味,但有效)

将 TFSBuild.exe 命令的所有输出推送到 txt 文件。

TFSBuild.exe 启动“TFS 服务器路径”>>“某些 TXT 文件”

解析 txt 文件并提取包含值“更新的内部版本号:”的行并获取输出文件夹名称。

据我所知,所有构建都被删除的放置位置,附加文件夹名称并获取文件。

于 2013-07-02T11:16:37.293 回答