给定一个非常基本的源树结构,如下所示:
trunk -------
QA |--------
Stage |-------
Prod |------
以及一个反映这一点的环境(Dev、QA、分阶段和生产服务器)--您是如何管理自动化或手动代码升级的?您是否使用CI服务器在所有阶段构建和提升?在开发中建立自始至终使用的二进制文件吗?其他一些混合?
我一直在胡思乱想。第一种情况是,每个升级都会执行一个GET最新版本,生成,然后将生成的输出推到正确的服务器上。第二种情况是,在某个点上--QA或阶段--升级的二进制文件将是复制到其他阶段的二进制文件。第三种方法是为部署的二进制文件保留一个辅助源代码树,它将自动与代码提升保持一致。还有其他的想法或想法吗?
发布于 2017-12-27 09:34:47
您绝对不希望生产代码与所测试的QA代码不相同,所以您应该使用二进制文件。
您还应该标记用于创建每个构建的源,因此如果需要,您可以在dev环境中再现构建。至少如果你在这一点上犯了一个错误,后果就不会那么严重了。
发布于 2017-12-27 10:11:25
我们在开发阶段就使用了CI,并使用了提升的日常构建。这些日常构建,如果成功,将在SVN中标记,这样我们就不需要保留二进制文件的单独副本。引用的任何第三方库也包括在内,这样标记就是编译内容的确切的源副本。
https://stackoverflow.com/questions/-100007097
复制相似问题