4

给定一个非常基本的源代码树结构,如下所示:

树干  -  -  - -
   质量保证 |--------
     舞台|-------
        产品 |------

以及一个反映了这一点的环境(开发、QA、登台和生产服务器)——你们都如何管理自动或手动代码提升?您是否在所有阶段都使用 CI 服务器进行构建和推广?开发人员的 CI 构建始终使用的二进制文件?其他混血儿?

我一直在思考几个想法。第一个是每次升级都会执行获取最新、构建,然后将构建的输出推送到正确的服务器。第二个是在某些时候 - QA 或 Staging - 被提升的二进制文件将与复制到其他阶段的完全相同。第三是为已部署的二进制文件保留一个二级源代码树,它会自动与代码升级同步移动。还有其他想法或想法吗?

4

2 回答 2

4

您绝对不希望生产代码与测试的 QA 代码不同,因此您应该使用二进制文件。

您还应该标记用于创建每个构建的源,因此如果需要,您可以在开发环境中重现构建。至少如果你在这一点上犯了一个错误,后果不会那么严重。

于 2008-09-30T04:17:46.847 回答
1

我们在开发阶段使用 CI,并使用推广的每日构建。如果成功,这些每日构建会在 SVN 中标记,这样我们就不需要保留二进制文件的单独副本。还包括引用的任何第三方库,以便标记是所编译内容的精确源副本。

于 2008-09-30T04:19:59.870 回答