【问题标题】:TFS Build Definition Label FormatTFS 构建定义标签格式
【发布时间】:2013-10-01 20:03:22
【问题描述】:

我正在尝试向我们的 TFS 构建定义的构建标签字段之一添加一些逻辑。

目前的设置如下:

注意自定义字段主要版本号和以前的主要发布日期。我想修改 Build Number Format 字段,以便最终结果类似于:

<BuildDefinitionName> <Major Version Number>.<# Days since Previous Major Release Date [4 Digits]>.<Revision Number>

所以一个示例输出是:

DebugBuild 6.0.0012.1

0012 表示 12 天。

我怎样才能做到这一点?我无法理解这些 $(Var) 字段的声明位置,因为它们似乎与构建过程模板变量和参数分开,而我声明的主要版本号和以前的主要发布日期参数确实存在于构建过程模板中并分配给参数MajorVersionNumberPreviousMajorReleaseDate

【问题讨论】:

    标签: vbscript tfs tfsbuild


    【解决方案1】:

    我所做的是customise the TFS build workflow 并在“更新内部版本号”步骤之前添加自定义代码活动

    此代码活动接受BuildNumberFormat 变量,替换我的任何自定义标记并将结果传递给我自己的localBuildNumberFormat 变量。然后我将localBuildNumberFormat 传递给“更新内部版本号”活动。

    所以这个过程是这样的:

    • BuildNumberFormat = $(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
    • 自定义活动的输入 = $(CustomToken)_$(BuildDefinitionName)_$(Rev:.r)
    • 自定义活动的输出 = DavesBuild_$(BuildDefinitionName)_$(Rev:.r)
    • TFS 构建活动的输入 = DavesBuild_$(BuildDefinitionName)_$(Rev:.r)

    在将 TFS 传递给 TFS 之前,您实际上是在替换所有 TFS 无法理解的标记。

    如何获取自定义令牌的值取决于您自己,您可以将它们作为构建定义/请求中的参数传递,或者在代码活动中查找它们(我都在我的活动中)。

    【讨论】:

    • 好的,我试过这个解决方案。我有我的自定义代码活动,我向我的构建控制器添加了对已编译 .dll 的引用,但是当我打开我的自定义构建过程 .xaml 文件时,我的代码活动没有显示在工具箱中?
    • 您应该在一个项目中有一个带有 XAML 模板的解决方案,并引用另一个带有您的代码活动的项目。我还使用 Wrox pro TFS 书籍作为参考。
    猜你喜欢
    • 2013-10-26
    • 2017-01-08
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 2015-08-28
    • 1970-01-01
    相关资源
    最近更新 更多