备案 控制台
开发者社区 开发与运维 文章 正文

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,如需转载请自行联系原作者
余二五
目录
相关文章
夏志121
|
16天前
|
程序员 Linux 开发工具
Git基本概念、工作流程及与SVN的对比
Git基本概念、工作流程及与SVN的对比
夏志121
51 0
渐暖
|
16天前
SVN 如何将分支代码合并回主干
SVN 如何将分支代码合并回主干
渐暖
16 0
2019ab
|
16天前
|
自然语言处理 Shell 网络安全
Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署
Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署
2019ab
39 3
小小鱼儿小小林
|
9月前
|
Java Android开发
eclipse中向svn提交代码冲突的解决
eclipse中向svn提交代码冲突的解决
小小鱼儿小小林
50 0
路宇
|
10月前
|
Android开发
Android 中使用SVN恢复原来的代码
Android 中使用SVN恢复原来的代码
路宇
57 0
路宇
|
10月前
|
Android开发
Android中使用Tortoise SVN遇到代码被锁定的解决办法
Android中使用Tortoise SVN遇到代码被锁定的解决办法
路宇
79 0
授客
|
SQL 运维 jenkins
测试思想-流程规范 SVN代码管理与版本控制
测试思想-流程规范 SVN代码管理与版本控制
授客
109 0
游客77pi2t2oblhmq
|
存储
亲测解决,IDEA-SVN无法更新代码。
为什么SVN update不能更新别人提交的代码?
游客77pi2t2oblhmq
328 0
亲测解决,IDEA-SVN无法更新代码。
柳鲲鹏
SVN回滚代码时,提示冲突怎么办
SVN回滚代码时,提示冲突怎么办
柳鲲鹏
68 0
SVN回滚代码时,提示冲突怎么办
游客6d5cg5c6p2fdo
|
网络安全 数据安全/隐私保护 Windows
基于阿里云搭建svn代码管理系统
使用阿里云服务器搭建svn代码管理系统并集成便于小组开发
游客6d5cg5c6p2fdo
860 1
基于阿里云搭建svn代码管理系统

热门文章

最新文章

  • 1
    SVN cmd on Ubuntu
  • 2
    使用SVN提交工程需要注意和遵循的事项
  • 3
    Ubuntu Server搭建svn服务以及迁移方法【转】
  • 4
    SVN项目管理:分支库与合并库
  • 5
    VSS、CVS、SVN和ClearCase等scm工具的对比
  • 6
    【软件工程技术之程序版本控制】SVN的使用——基本知识,Server搭建与Client日常使用维护
  • 7
    svn上线运用(三)
  • 8
    如何修改SVN中的用户名和密码
  • 9
    关于Android 项目从svn中检出无R.java文件问题
  • 10
    apache+svn服务搭建
  • 1
    如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
    52
  • 2
    Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署
    39
  • 3
    Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
    78
  • 4
    Svn 取消revert
    27
  • 5
    idea svn 文件夹颜色级联改变
    34
  • 6
    Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
    60
  • 7
    如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
    85
  • 8
    【SVN内网穿透】远程访问Linux SVN服务(二)
    40
  • 9
    【SVN内网穿透】远程访问Linux SVN服务(一)
    71
  • 10
    如何通过内网穿透实现远程访问Linux SVN服务
    48
  • 相关课程

    更多
  • SVN版本控制系统
  • 数据库仓库升级交付实践指引
  • 相关电子书

    更多
  • 前端自动化测试
  • 十分钟上线-使用函数计算构建支付宝小程序服务
  • 一天发布10次-基于元数据的持续交付方法
  • 相关实验场景

    更多
  • 配置流程编排实现根据天气情况播放歌曲
  • 部署svnserve访问SVN
  • 基于小程序Serverless开发个人相册小程序
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    PHP网站源码安顺网站制作哪家好陇南关键词按天收费锦州seo网站优化陇南百度seo多少钱郴州关键词排名包年推广推荐大连品牌网站设计玉林网站搭建公司木棉湾seo多少钱沧州百度关键词包年推广公司湛江SEO按效果付费价格丹竹头建设网站泰州设计网站多少钱白银关键词按天计费推荐桂林网页制作推荐上海网络推广价格大理关键词排名包年推广多少钱宿迁企业网站制作报价德宏seo喀什设计网站多少钱永湖网站推广方案多少钱盐田网站优化软件报价濮阳seo优化价格济南seo推荐丽水SEO按效果付费哪家好温州网站搭建报价襄樊网站制作设计报价福州seo排名推荐济源SEO按天计费价格永湖阿里店铺托管哪家好坪山网站优化按天扣费多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化