@
gouchaoer 原理和流程 sagaxu 写得蛮清楚的了,按照他这个思路自己写脚本即可。可以用脚本自己实现,也可以依赖其他的持续集成工具。
我们大致的流程是:
# 制定 svn/git 规范,比如 release/master 就是线上代码,trunk 就是生产代码;
# 制定代码目录规范,比如 tests 目录是单元测试用例代码;
# 代码全部测试完成,leader 合并分支代码到线上目录;
# 发布后台点击“发布”,脚本依次执行:
## 从指定分支 checkout 代码;
## 运行单元测试;
## 代码打包:php 可能要 require 一些依赖项目 /配置,java 可能要打成 war 包;
## 代码传到指定服务器(也可以先到测试服务器):php 直接复制到指定目录即可; java 要多一点,kill 掉 tomcat、复制 war 包、重启 tomcat ;
## 检测环境是否正常:预先写好一些本地脚本,当前机器发布完自动调用测试一下响应和状态;
## 发送邮件 /记日志...
通过一系列的 shell 脚本串联起来即可。