【问题标题】:TFS post build console app self execution with build id as parameterTFS post build console app self execution with build id as parameter
【发布时间】:2018-01-29 15:11:00
【问题描述】:

我有两个项目,一个是简单的控制台应用程序项目,另一个是测试项目。在我的控制台应用程序内部,我可以检查来自测试项目的测试(基于构建 ID)是否通过或失败。

我想在每次构建完成时执行该控制台应用程序,以便我可以获取这些测试的状态并使用结果执行其他操作。

这可以通过 TFS 上的某种后期构建脚本来完成吗?

【问题讨论】:

  • 您试过婷婷的方案,是否解决了您的问题?

标签: c# .net tfs


【解决方案1】:

您似乎正在使用 XAML 构建。如果您使用 XMAL 构建,则 BuildId 没有环境参数。此处列出了 XAmL 构建的所有环境变量:https://msdn.microsoft.com/library/hh850448%28v=vs.120%29.aspx

作为一种解决方法,您可以使用TF_BUILD_BUILDURI 变量。如您所见,在 buildUrl 的末尾是 buildId。您可以通过 buildURL 提取 buildID。

【讨论】:

    【解决方案2】:

    配置 TFS 模板以指定构建后脚本。 参考这个Microsoft Article

    【讨论】:

    • 是否可以将 build id 作为参数传递?
    • 是的,在环境中默认可用Build.BuildIdBuild_BuildId的名称。参考here
    • 嗯,我尝试在我的 bat 文件中将其用作myProgram.exe %BUILD_BUILDID%,但它是传递给我的 exe 的空参数。知道为什么吗?
    • @ShP 你是如何将变量值传递给 .exe 的?根据文档,格式 %BUILD_BUILDID% 只能在批处理脚本中使用。如果要将值传递给 .exe 文件,可以尝试先设置“命令行参数”,然后在 bat 脚本文件的命令行中传递参数。参考本帖:social.msdn.microsoft.com/Forums/vstudio/en-US/…
    • 我知道我需要设置命令行参数,但问题是在批处理文件中,它看起来像 myProgram.exe %BUILD_BUILDID%,它是作为构建后事件脚本触发的,没有任何东西传递给我的 exe作为命令行参数。
    猜你喜欢
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2016-07-15
    相关资源
    最近更新 更多