给定一个非常基本的源代码树结构,如下所示:
树干 - - - - 质量保证 |-------- 舞台|------- 产品 |------
以及一个反映了这一点的环境(开发、QA、登台和生产服务器)——你们都如何管理自动或手动代码提升?您是否在所有阶段都使用 CI 服务器进行构建和推广?开发人员的 CI 构建始终使用的二进制文件?其他混血儿?
我一直在思考几个想法。第一个是每次升级都会执行获取最新、构建,然后将构建的输出推送到正确的服务器。第二个是在某些时候 - QA 或 Staging - 被提升的二进制文件将与复制到其他阶段的完全相同。第三是为已部署的二进制文件保留一个二级源代码树,它会自动与代码升级同步移动。还有其他想法或想法吗?