本文记录我所在团队的发布服务的方法,个人认为这些小的零碎操作合并下,方便服务部署。
可能很多公司 发布服务的过程有四个阶段: – 草案、提交、批准以及发布,我这里只是说明发布的过程,其他的暂不讨论。
首先简单画了我们网站的架构图。
web服务通过java实现, 前端用nginx是反向代理转发,静态文件和资源通过nginx直接处理。后端服务连接数据库,缓存服务等等。
简单画了下实际发布做的事情。
1.发布静态文件,css,js等文件, 因为是通过nginx转发,其实我只是需要对应的目录更新文件就好(采用svn,对应目录svn update即可) 2.更新代码并打包。 代码管理我们暂时还比较落后,使用svn管理,目前够用了,没有迁移到git上。 打包通过maven实现。具体就不介绍了,请查阅maven相关知识。 3.循环找到机器,并部署 4.观察机器状态并测试 web服务中暴露出一个请求,比如:http://xxx.com/preload.htm 如果该请求返回内容为build success,那么我认为这个服务器工作正常了,至于preload 这个请求,里面具体做什么事情,根据自己的业务去处理,比如:检查数据库连接正常否,等等模拟核心业务流程走一次等。 5.提供给用户服务 6.重复步骤3,直到所有机器都部署成功