【问题标题】:How to pass build parameters and other information to powershell script in TFS2013 build?如何在 TFS2013 构建中将构建参数和其他信息传递给 powershell 脚本?
【发布时间】:2014-04-13 04:08:50
【问题描述】:

我在 TFS 2013 中使用默认构建模板,我如何从 powershell 脚本访问构建参数(例如,构建下的变更集编号、构建目录、源路径、tfs 地址、代理信息...)?

示例情况:我想重写 Pre-Build 脚本上的所有程序集信息版本信息,其中版本号的最后一部分是变更集号,我可能可以使用脚本内的 tf.exe 命令获取变更集,但我不仅仅是我想在构建期间从构建代理那里知道。

我尝试在脚本中运行 Get-Variable 并将其写入构建,但我没有在脚本中找到任何特殊变量。

我是否遗漏了什么,或者默认构建模板在执行期间根本不会将任何变量传递给 powershell 运行时?

【问题讨论】:

    标签: powershell tfs build


    【解决方案1】:

    想通了。

    变量自动写成环境变量,dir env: 向我展示了 tfs 自动创建以下变量:

     TF_BUILD                       True
     TF_BUILD_BINARIESDIRECTORY     C:\WP0\101\bin
     TF_BUILD_BUILDDEFINITIONNAME   TfsBuildTest2
     TF_BUILD_BUILDDIRECTORY        C:\WP0\101
     TF_BUILD_BUILDNUMBER           TfsBuildTest2_20140310.3
     TF_BUILD_BUILDREASON           Manual
     TF_BUILD_BUILDURI              vstfs:///Build/Build/6521
     TF_BUILD_DROPLOCATION
     TF_BUILD_SOURCEGETVERSION      C22404
     TF_BUILD_SOURCESDIRECTORY      C:\WP0\101\src
     TF_BUILD_TESTRESULTSDIRECTORY  C:\WP0\101\tst
     TFS_REG_CRED                   Build
    

    【讨论】:

    • 对于它的价值,这些都记录在这里:msdn.microsoft.com/en-us/library/hh850448.aspx +1 用于发现 TFS_REG_CRED,没有记录。
    • 你是如何在你的 powershell 脚本中实际声明这些的?或者您是否将它们作为构建定义中的参数传递?例如例如 $("TF_BUILD") 或只是 TF_Build?
    • 这些是环境变量。在 Powershell 中,语法是 $env:TF_BUILD_BUILDNUMBER
    • 如果您在构建模板中创建一个新的(自定义)变量(例如用于递增 assemblyInfo.cls 的版本号),如何在 powershell 脚本中获取该变量?
    • 对于我的一生,我总是得到 TF_BUILD_BUILDURI 的空字符串。我创建了一个变量,但仍然没有
    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多