代码提升:构建还是二进制?

时间:2020-03-06 14:54:23  来源:igfitidea点击:

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

trunk ------- 
   QA  |--------
     Stage |-------
        Prod  |------

以及一个与之相对应的环境(Dev,QA,登台和生产服务器),我们都如何管理自动或者手动代码提升?我们是否使用CI服务器在所有阶段进行构建和升级?开发人员使用CI来构建在整个过程中使用的二进制文件?其他混合动力车吗?

我一直在想着一些想法。首先是每次促销都将获取最新版本,进行构建,然后将构建的输出推送到正确的服务器。第二个是在某个时候进行质量检查或者分段升级的二进制文件与复制到其他阶段的二进制文件完全相同。第三是保留用于已部署二进制文件的辅助源代码树,该代码树将随着代码升级而自动同步移动。还有其他想法或者想法吗?

解决方案

我们绝对希望生产代码与经过测试的一次质量检查不完全相同,因此我们应该使用二进制文件。

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

我们在开发阶段使用CI,并使用每天都会推广的版本。这些日常构建(如果成功的话)将在SVN中进行标记,因此我们无需保留二进制文件的单独副本。还包括任何引用的第三方库,因此标记是所编译内容的确切源副本。