基于先前的构建在TFS中执行构建

时间:2012-06-08 16:16:28

标签: tfs

我们正在使用TFS来遵循非常标准的敏捷构建过程:

  1. 每晚使用最新源代码构建
  2. 每两周构建一个登台服务器
  3. 每4周构建一次到生产服务器
  4. 我在TFS中设置了1和2并且运行良好。但是,我在#3中苦苦挣扎。如果我只是设置一个“正常”构建,它将提取最新的源代码并使用它来推送到生产服务器。但我真正想要的是将代码从第2步移到生产服务器,因为它已经由QA团队审核。

    我考虑过使用XCopy或其他东西的自定义构建模板,但问题是如何更新配置字符串。

    我正在关注这篇文章,这看起来很像我想要的http://www.asp.net/web-forms/tutorials/deployment/configuring-team-foundation-server-for-web-deployment/deploying-a-specific-build,但它不起作用。

    你们如何实现这一目标?

2 个答案:

答案 0 :(得分:4)

所以这是一种稍微容易实现的方法3.如果你已经达到2。

让您的生产构建定义保持原样。但是,为了编译用于在步骤2中编译临时构建的相同变更集(现在已经过QA审查),当您对prod构建进行排队时,然后在参数选项卡上展开“高级”部分并找到“获取版本”属性如下图所示。

enter image description here

在这里,您可以指定在步骤2中用于构建构建的相同TFS变更集。假设此变更集为84,您可以(完全)编写

C84

如果您为标签编译 - 然后为名为“For build xyz”的标签,则指定

LFor build xyz

请注意,上述“C”和“L”是故意的。

希望这有帮助。

答案 1 :(得分:2)

我们有一个不同的生产分支,代码只有在通过Q& A后才会合并到生产分支。

这允许我们将热修复应用于生产代码,直接在生产分支上进行更改(这些将最终反向集成到main然后开发),同时继续在开发分支上进行开发。

一旦开发分支中的代码为Q& A准备就绪,它就会合并到主干中。

CI和夜间构建在开发分支上完成 - 不同之处在于夜间构建具有更全面的自动化测试