1. 云栖社区>
  2. 博客列表>
  3. 正文

SVN自动化部署全流程之架构之美

小柒2012 2017-03-13 14:07:35 浏览626 评论0

架构 监控 服务器 集群 持续集成 测试 同步 SVN 脚本 jenkins

摘要: 公司一直没有一个完善的部署流程,基本都是通过上线打包以后SSH手动拖拽部署项目。 当然网上也有现成的持续集成工具,比如jenkins。Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

公司一直没有一个完善的部署流程,基本都是通过上线打包以后SSH手动拖拽部署项目。

当然网上也有现成的持续集成工具,比如jenkins。Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

尽管jenkins有很丰富的功能。然而,暂时并没用使用倒它,这是后话,以后再谈。

_

上图,是一个生产环境上线的一个基本流程图。当然,这里忽略了测试环境的流程。

一、开发人员提交代码到SVN项目分支

二、SVN服务器执行代码检出功能,并使用rsync同步至生产环境服务器A(线上测试环境)

三、服务器A使用ANT以及shell脚本执行打包、备份、部署、重启操作

四、线上测试环境进行UI功能的测试

五、测试无误,服务器A使用rsync推送代码至线上集群服务器B和服务器C(事先备份)

六、测试人员进行简单的测试即可

注意完善使用说明

  • 步骤二中,其实可以用到svn的钩子功能,但是目前使用的脚本手动执行,同步代码库到生产环境。

  • 还有所谓的线上测试环境,是为了真实模拟生产环境,部署以及测试不至于影响正式环境,测试无误后再同步代码。

  • 基本解决的问题,脚本化部署,虽然有少量人工参与,但是免去了以前部署人员对照目录,拖拽的问题(少部署,漏部署,集群下复制,参数漏改的问题),最主要的还是TM网速问题。

  • 由于增加了线上测试环境,避免了部分功能回滚麻烦的问题。

原文:http://blog.52itstyle.com/archives/436/

用云栖社区APP,舒服~

【云栖快讯】2017开年大作,云栖大会·深圳峰会 3月28日开幕!37场论坛,2天云生态大展,100+分享嘉宾,更有云产业“奥斯卡”现场揭晓。现场坐席有限,报名倒计时中!  详情请点击

网友评论

业内领先的面向企业的一站式研发提效平台,通过项目流程管理和专项自动化提效工具,能够很好地支持互联网敏捷项目的快速...

全球领先的SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。

支持以数据库为核心的结构化存储产品之间的数据传输。 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
开年采购季,惊喜不间断!

开年采购季,惊喜不间断!