关于项目是整包发线上还是单文件替换讨论

曾经的十字镐 发布于 2016/05/23 11:57
阅读 485
收藏 0

我觉得线上的项目发布必须整包发,如果单个文件替换会存在诸多问题。

问题:

一、版本不稳定,没有进行严格的测试。

二、发布流程存在问题。

加载中
1
tomczhen
tomczhen

两种都可以,看代价而已。

折中的办法就是把二进制文件丢进版本控制里面,让版本控制做差异发布,需要人来判断差异文件的合理性。

问题根本在于没有自动测试方案对项目做回归测试,排除掉一些低级错误。

tomczhen
tomczhen
回复 @刘离勇 :发布结果丢到版本控制里面,有问题直接回退比代码回退再来编译发布简单多了,而还不用考虑发布引起的二次问题。
曾经的十字镐
曾经的十字镐
把二进制文件丢到版本控制里面是不是有点繁琐了,我觉得最合理的方法就是,每次新版本上线就打个TAG,这样如果遇到问题就回退到上一个TAG,但前提是上个版本必须是经过严格测试的,So 没有一个好的上线流程才是问题的根本。
0
MockMan
MockMan
你让一个包有好几g的情何以堪
不日小鸡
我之前的公司的包2.7G,听说你要整包发布?
MockMan
MockMan
回复 @刘离勇 : 上家公司各种包导了近一个g
曾经的十字镐
曾经的十字镐
你那什么项目能写到好几个G,真牛逼呀
0
莫库什勒
莫库什勒
你可以打补丁包的方式发布服务;
0
高山流水情
高山流水情

两种方式都经历过,现在带团队,我使用整包发布,整个项目30多M,比较小,当然资源文件都是存另外服务器的,部署还比较方便快捷。

至于项目有几个G的,估计只能以补丁形式,进行文件替换了。

高山流水情
高山流水情
回复 @刘离勇 : master分支当然是稳定的预发布版本咯
曾经的十字镐
曾经的十字镐
我觉得应该整包发布,但前提是整个Master分支是必须稳定的,如果有问题的话一直接回滚的上一个版本。
0
ihuotui
ihuotui
版本分支,怎么管理的?
曾经的十字镐
曾经的十字镐
可是使用GIT来做版本管理。
0
focusfree
focusfree

一两个功能的单文件发布还好,如果是上百个功能发布,牵涉到几百个文件的替换,肯定会有问题。

这就是增量发布,文件多会有冲突,到时线上服务各种bug。


0
Carlos_Tse
Carlos_Tse
各取所长,现将线上发布的源码打包备份,将本地要发版的代码编译后本地打开,整包目录对比差异上传,既保证了完整性,又做到了只上传差异部分,在此顺道感谢我司技术大神
曾经的十字镐
曾经的十字镐
回复 @Carlos_Tse : 前期项目外包出去了,做的一塌糊涂现在刚接手,十分的混乱。
Carlos_Tse
Carlos_Tse
@刘离勇 你们没有代码版本管理?没有产品管理?没有上线流程?
曾经的十字镐
曾经的十字镐
你说的这种方式短期可以如果长期不发,你自己都不是到,线上和开发到哪不一样。
0
_Mr_Right_
_Mr_Right_

我们目前就是增量部署 ,很方便,当然也有很多的问题

打算往 整包部署靠拢 (项目才几十M )


0
尚浩宇
尚浩宇
一般都是打补丁方式,没有说整包的,除非项目很小没多少东西,另外一般运维会指定出一个完善的上线流程防止版本不一致问题
0
空香沾手
空香沾手
看情况了,项目不大,每次都发整包是OK的。
项目太大,最好是增量更新了。

两种办法没有谁好谁不好,还是得看代码管理规不规范。

代码管的好的项目,随便喽

返回顶部
顶部