共计 573 个字符,预计需要花费 2 分钟才能阅读完成。
背景
keywords:svn,trunk,branch,jenkins,maven,merge
两地同时开发一个产品, 目前线上有 3 个环境: 测试环境、预发布环境、生产环境。目前系统部署采用 jenkins 自动化部署工具
用 jenkins 部署的方案
jenkins 测试环境:配置了各个分支的 svn 地址;预发布和生产环境配置为主干的 svn 地址。jenkins 部署的大致流程为:
- 根据配置的 svn 路径
- 下载源码
- maven 打包
- copy 到 tomcat 的 webapps 目录
- 重启 tomcat
采取的版本控制方案如下图,虽然图看起来这么多弯弯曲曲的线,其实还是实施起来很简单的
两个原则
一:基于分支提测,预发布和生产基于主干进行发布
二:每次上线后,一定要及时通知其他分支及时从 trunk merge 到 branch
war 包部署方案
还有种部署方案:不基于源码打包部署,而是打一个 war 包,然后根据环境自动替换配置文件。这种部署方案比较适合分布式部署
这种版本控制可以有细微变动:就是第四点,发布到线上后,发现存在 bug,那么是从 tag 新建分支,修复后,可以直接从分支打包上生产。因为如果用 jenkins 自动部署工具,那么就需要保证取源码的 svn 路径不能发生改变。
如下图:
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135188.htm
正文完
星哥玩云-微信公众号