码迷,mamicode.com
首页 > 其他好文 > 详细

代码上线

时间:2017-07-19 18:27:21      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:代码上线   灰度发布

1 .小型企业现状

                            技术分享

 

小型公司一般只有几个开发人员,并且网站核心程序大多都是PHP语言开发,为了方便,会直接通过FTP直接上传程序代码到线上服务器,随时随地上线更新。


1.1 上述代码方案的优缺点

优点:发布快,及时,随时随地就可以发布代码。

缺点:开发人员发布的代码不经过测试人员的测试,用户刷新网页可能发现页面改变,也可能刷新瞬间程序在更新,到时无法访问,对网站用户的体验较差,如果开发写错了代码,造成的影响就更大了,这是拿用户做测试的上线方案。

据统计,网站中大概50%以上的故障是和开发程序代码有关的,比如,开发写错了一个循环代码,导致了死循环,此时大量用户访问这个程序,就能把服务器资源耗尽,搞死服务器。

在中小公司网站出了问题一般是运维人员的问题(例如网站宕机),但是这种情况下,问题大多可能由开发人员或代码引起的,这里比较好的策略是开发项目负责制。


1.2 小型企业上线架构方案建议

开发人员需在个人电脑搭建LNMP环境测试开发好的网站代码,并且在办公室或IDC机房的测试环境测试通过,最好有专职测试人员。

程序代码上线规定时间,例如:三天上线一次,如网站需经常更新可每天下午17点上线,这个看网站业务性质而定,原则就是影响用户体验最小。

代码上线需备份,网站程序问了问题方便回退,另外,从上线技巧上来说,上传代码尽可能先传到服务器网站临时目录,传完整后一步MV过去,或者通过lN做软连接。

代码全部复制到网站,不要增量复制


2 中型网站代码上线

中型企业上线,一般是规范运维人员操作步骤,指定统一的上线操作脚本,备份文件名称,备份文件路径,使操作人性化,统一化,自动化。

技术分享

 

 

3 大型企业代码上线

技术分享

 

3.1 PHP程序代码上线注意事项

对于PHP上线方法:发布代码时(也需要测试流程)可以直接发布到正式线临时目录,然后mv或更改link的方式发布到正式线目录,不需要重启http/php服务。


3.2 JAVA程序代码上线注意事项

对于JAVA上线方法:需要分组平滑上线。例如,首先从负载均衡上摘掉一半的服务器,发布代码后,重启服务器测试,没问题后,挂载上线完成一半,再卸载另外一半。如果前端有DNS智能解析,上线还可以分地区上线若干服务器,逐渐普及到全国的服务器,这个称为灰度发布。

 

3.3 大型集群架构代码发布方案注意事项

上线的流程里:办公测试环境-------IDC测试环境------正式生产环境。所有环境中的所有软件均应版本统一,其次,尽量单一,否则将后患无穷(开发测试成功,IDC测试可能有问题)。例如:操作系统,web服务器,jdkphp,tocat等版本

采用全量升级,而不是增量。


本文出自 “写个博客骗钱” 博客,转载请与作者联系!

代码上线

标签:代码上线   灰度发布

原文地址:http://dadonggg.blog.51cto.com/12672150/1949046

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!