SVN代码上线流程-阿里云开发者社区

开发者社区> 余二五> 正文

SVN代码上线流程

简介:
+关注继续查看

为了确保维护svn代码的正确性,特制定上传代码流程如下:

开发人员开发:

开发人员本地分支----取得svn最新代码(根据前一天的最后tag合并)-----代码开发----提交分支。

合并时候注意事项,对于冲突的文件看是不是自己本地正在修改的文件,不是的话就按照诛仙的tag来覆盖,否则按照本地,最好提前解决冲突问题(不好操作的话就被分好自己本地代码,讲SVN代码拿过来,好好看一下冲突冲突的问题),这样在回合的时候就可以按照自己分支来操作了(当然我们也要看一下,以防止别人先合并)

开发人员代码合并:

开发人员本地svn主线---》取得svn最新代码---》从本人分支合并到本地svn主线---》提交到svn主线(小心谨慎的)

每周值班人员代码取得、本地编译增量包

取得上线列表----->检查svn开发人员提交日志---->取得最新代码---->值班人员打标签----->本地编译增量包

打标签的工作在检查后提交sa前进行,每次提交给sa都打个tag

这部分工作做种是自动化,经每次打包的文件放在固定目录下共sa使用,在打包后注意一些目录和文件不要打包进去一时占空间,而是冲掉网站的文件。

1.2.1小型公司代码上线

wKioL1iirTaz1GUyAAEndVjOzI0094.jpg-wh_50

现状:

此类公司一般有3-5个开发人员,程序多位PHP程序,直接通过FTP直接上传代码到线上服务器,随时随地上线更新

此上线方法存在的问题:

1.开发不经过测试人员测试,用户访问页面刷新后页面即改变,对用户体验比较差,如果开发写错了代码造成的影响就更大了。

2.大概百分之50以上的故障直接和开发程序代码相关(比如:开发1写错了一个循环代码,此时用户访问就能把服务器搞死)

3.网站出了问题一般是运维人员的问题(例如宕机)但这种情况下,问题大多strace可能有开发人员引起的

解决方案

1.开发人员需在个人电脑搭建LAMP环境测试网站代码,并且在办公室或IDC机房测试环境。

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

3.代码上线之前需备份,网站程序除了问题方便回退,另外,上传代码时尽可能先传到临时目录,完整后MV过去。

4.由运维人员管理上线,对于代码的功能性,开发更在意,而对于代码的性能和服务的稳定,运维更在意,因此,运维上线这样更规范科学

1.2.2中型企业上线解决方案

规范运维人员操作步骤,制定统一的操作脚本,备份文件名称,备份文件路径。使操作人性化,统一化。

Web代码的上线流程演示图:

wKiom1iirabhTeBtAAC4lqvZjRM903.jpg-wh_50

1.2.3 大型企业上线解决方案

wKioL1iircbDBPhMAAEwG7ilOJc924.jpg-wh_50

提示:

特别是JAVA代码环境,上线时,有数台机器同时需要更新:

1.本地开发人员取SVN代码。当天上线提交到trunk,否则,长期项目单开分支开发,然后再合并上线(trunk)。

2.办公室内网开发测试环境时,有开发人员或配置人员通过部署平台jenkins实现统一部署,(即在部署平台上控制开发及其从SVN取代码,编译,打包,发布开发几包名如idc_dep.war)。

3.开发人员通知测试人员或仪器测试,没有问题后,大上tag标记。

4.配置管理员,根据上部的tag标记,checkout出代码,并配置好IDC环境的所有配置,执行编译,打包(mvn,ant)(php不需要),然后发布到IDC内的统一分发服务器

5.配置管理员或SA上线人员,把分发的内容图送到相关测试的服务器(报名:idc_test.war)然后通知开发测试。如果有问题向上回退。

6.如果没有问题,继续打好tag,此时,配置管理员,根据上步的tag标记,checkout出代码,并配置好IDC正是环境的所有配置,执行编译,打包(mvn,ant)(php不需要),然后发不到IDC内的同意分发服务器。

7.配置管理员或SA上线人员,把分发的内容推送到相关正式服务器(报名:idc_product.war),然后通知开发及测试人员进行测试,如果有问题直接发布回滚指令。

IDC正式上线的过程对于JAVA程序,可以是AB组分组上线的思路,即平滑下线一半的服务器,然后发布更新代码测试,五问题后,挂上服务器,同时在平滑下线另一半的服务器,然后发布更新代码测试(或者直接发布后就挂上线)

对于PHP上线的方法:发布时可以用发布到正式线临时目录,然后mv或更改link的方式发不到正式线目录,不需要重启。

对于java上线方法:需要分组平滑下上线(如从负载均衡上摘掉部分服务器),发布代码后,重启服务器测试。

注意事项:

wKioL1iirlOSQJSAAAKn9nHylP8837.jpg-wh_50

SVN上包含代码和配置

wKioL1iirtOQkhioAAEPmmlkm3o208.jpg-wh_50

上线单:


wKiom1iirwnQ2k9FAADuE5KjEpk375.jpg-wh_50

什么是平滑代码上线?

最简单的讲,平滑代码上线就在网站代码更新时,不影响正在浏览用户的正常浏览网页或其正在使用的其他相关应用。

平滑上线的概念解析

为了说清楚这个问题,我们还是举例说明。

wKiom1iir02DbO4pAAFvbhTfoKk965.jpg-wh_50

wKioL1iir2Xhyqb0AAFbuHo9qPQ668.jpg-wh_50

一些软件的平滑重启的方式

wKiom1iir4_R5_SOAACaLsXIfvk093.jpg-wh_50

门户网站是如何做到平滑上线的呐?

wKioL1iir7rAcmYLAADPAacwRYo911.jpg-wh_50

wKiom1iir9PxugqXAAGrPbBNjBo201.jpg-wh_50

集群后端分为两组:一组平滑下线一端,上传下线的代码进行测试。测试完毕平滑上线,然后在进行另一组下线进行上传代码。进行测试然后平滑上线










本文转自 妙曼  51CTO博客,原文链接:http://blog.51cto.com/yanruohan/1897645,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9489 0
HaaS100开发调试系列 之 如何使用J-Link仿真器调试代码
今年阿里云官方推出的HaaS100开发板引起了嵌入式开发者的极大关注,阿里云IOT部门提供的开发者7*24小时咨询答疑服务,也受到了广大开发人员的欢迎。
75 0
swfupload 的ASP上传示例代码
swfupload(以下简称su)遇到的主要问题就是,版本不同造成的极大差异, 现在的版本已经到2.1beta。我用的是2.02版,天哪用的是1.xx版。 差异具体体现在: lash_url : ".
787 0
常用字符与ASCII代码对照表
常用字符与ASCII代码对照表 为了便于查询,以下列出ASCII码表:第128~255号为扩展字符(不常用)   ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘 27 ESC 32 SPACE ...
847 0
Google免费的SVN服务器管理VS2010代码
前言 Google免费为我们提供了代码管理的SVN服务器。首先我这里用的Win7 64的电脑系统,用VS2010进行的代码开发。这里管理代码需要以下准备(现在用的都是最新的版本): 1.(SVN)TortoiseSVN-1.
826 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13172 0
创建SinaSAE云账号创建和发布基于SVN代码管理的PHP空工程
1、使用Sina微博账号登录,进入【新浪云控制台】 2、选择【云应用SAE】界面,选择【创建新应用】 3、点击【继续创建】,进入应用信息编辑界面     依次编辑“二级域名”“应用程序名”,再点【运行环境】中的【PHP空应用】,再点左下角的【创建应用】完成应用创建。
846 0
《一切皆是映射:代码的本质》哈希算法 (Hash)
「The Algorithm Design Manual」一书中提到,雅虎的 Chief Scientist ,Udi Manber 曾说过: 在 yahoo 所应用的算法中,最重要的三个是:Hash,Hash 和 Hash。
1164 0
svn 提交代码 自动过滤技巧
操作   在用svn管理版本时,有时希望在提交到服务器时,能过滤掉指定后缀名的所有文件,或指定名称的文件夹、文件名。   常见的文件夹名称和文件名如下: bin obj debug temppe *.
818 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载