从SVN部署文件的最佳实践

时间:2012-11-30 17:20:41

标签: deployment

我已经阅读了这篇文章(链接:http://guides.beanstalkapp.com/version-control/branching-best-practices.html),它提供了一些关于部署错误修复和功能请求的良好“最佳实践”建议,并倾向于同意所有写在那里的建议。但是我有一个我似乎无法解决的主要问题:

如何在不部署当前正在测试的文件的情况下,仅部署经过全面测试的功能?

示例:Bug#1影响file1.php。错误修复在bug分支中编码,由dev在本地测试,并合并回dev分支。 dev分支部署到测试环境。

功能#1也会影响file1.php。它被编码,合并并部署到测试。

我需要将错误修复(以及可能有类似冲突的其他100个修复程序)部署到Staging。我还不想部署新功能,因为还没有进行文档,培训等。

我如何只部署错误修复程序?我如何部署某些错误修复和某些功能请求,但不是全部?

我考虑过跟踪每个文件更改并将其链接到错误标签,编译错误标签中的文件列表,并手动选择每个文件。但这似乎是错误的,而且需要的工作量超出应有的范围。

我错过了什么?如何仅部署我想要部署的错误修复和功能集?

1 个答案:

答案 0 :(得分:2)

根据我的理解,通常的方法是:

  1. 您为每个部署的版本(例如 1.1 )都有一个标记/分支(在SVN中相同)。
  2. 如果出现严重错误,请将错误修复为( 1.1 )的分支,如您所说
  3. 将错误合并到( 1.1 )创建( 1.1.1 )并合并到 dev 。 ( 1.1.1 )转到测试 NOT 开发
  4. 与此同时

    1. 功能转到开发
    2. 如果您要发布功能,请为此创建一个分支(例如 1.2 ),然后转到测试,然后是其余部分。
    3. 注意:

      • 错误修正有时可以在开发中完成,并且向后移植到分支机构。