科帮网-Java论坛、Java社区、JavaWeb毕业设计

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 运维优化 > SVN自动化部署全流程之架构之美
总共47924条微博

动态微博

查看: 934|回复: 0

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

[复制链接]
admin    

1236

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2020-7-7 21:34
  • 签到天数: 33 天

    [LV.5]常住居民I

    管理员

    发表于 2017-03-13 14:10:09 |显示全部楼层
    公司一直没有一个完善的部署流程,基本都是通过上线打包以后SSH手动拖拽部署项目。

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

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

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

    部署.png


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

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

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

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

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

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

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


    ### 注意完善使用说明

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

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

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

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



    科帮网-Java论坛、Java社区、JavaWeb毕业设计 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网-Java论坛、Java社区、JavaWeb毕业设计享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网-Java论坛、Java社区、JavaWeb毕业设计的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网-Java论坛、Java社区、JavaWeb毕业设计管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表