问题 我在TFS中存在构建定义(我无法更改)。我正在自动化文件收集过程,我需要执行此构建定义,获取放置位置并将这些输出复制到所需位置。
解决方案: 我们已经有一个批处理文件来执行文件复制操作。所以我试图整合其中的一切。 我使用TFSBuild.exe(命令行工具)开始构建。提供服务器路径,构建定义名称。构建成功完成。
我的问题是我无法获取当前执行的构建定义已删除输出以附加到放置位置的文件夹的名称(或任何构建完成详细信息)。 我想在构建完成后获取 Drop文件夹的值。
(如果有更好/更简单的方法,那将会有所帮助)
提前致谢。
答案 0 :(得分:1)
您可以使用TFSBuild.exe将droplocation指定为对构建进行排队的一部分。命令行上的“TFSBuild.exe帮助启动”应该可以帮助您。
另外,如果您仍在使用批处理文件将文件从放置位置复制到其他地方进行打包,那么我认为该过程根本不是自动化的。自定义构建过程,使用WIX打包代码。在源代码编译结束后,您可以启动WIX包,构建的最终输出将是用于部署的MSI!
答案 1 :(得分:0)
如果我完全理解你的问题,$ env:BUILD_ARTIFACTSTAGINGDIRECTORY可以帮到你! 感谢您发布此问题!
答案 2 :(得分:-1)
查看互联网上的所有输入和评论,似乎无法从TFSBuild.exe中提取更新的内部版本号/名称/丢弃文件夹名称。
所以,我管理了一个Workaorund。 (有点乏味,但有效)
将TFSBuild.exe命令的所有输出推送到txt文件。
TFSBuild.exe启动“TFS服务器路径”>> “一些TXT文件”
解析txt文件并提取包含值“Updated Build number:”的行并获取输出文件夹名称。
我知道丢弃所有构建的Drop位置,请附加foldername并获取文件。