随着业务线和项目增加,使用rsync 命令方式发布代码已经无法满足需求。所以想搞一套代码发布平台。
【需求收集】
1.年前开发了一个版本,当时只是和前端PHP团队沟通过。开发完发现后端需求和前端的需求有出入。所以这个版本给废掉了。
2.春节后,跟各业务线Leader重新沟通了一下需求,准备重新开发。
【开发架构】
1.前端设计:
页面使用Bootstrap、CSS和Jquery。
2.数据库设计:
数据库使用Mysql。
3.后端开发语言:
比较熟悉Django,所以使用Django开发。
【功能设计】
1.系统设置:
系统设置主要包括:组管理、用户管理、项目管理等。用户登入及权限管理,通过调用SSO API进行管理。
2.代码管理:
代码管理主要包括:PULL代码、PUSH 代码、CHECK代码、POST代码和 ROLLBACK。
PULL代码:
通过平台将测试完成的Code,PULL到Online 代码仓库,压缩并生成MD5校验。
PUSH代码:
首先选择发布项目、线上服务器、版本信息等。然后通过平台PUSH到线上服务器指定目录。
CHECK代码:
校验Online服务器代码MD5值是否和代码仓库代码MD5值相同。如果相同进入下一步。
POST代码:
如果验证通过,线上服务器代码路径软链到项目根目录,然后Reload服务。
ROLLBACK:
线上服务器会保留5份代码,当新上线的代码出现问题,可以通过ROLLBACK进行回滚到指定版本。
3.项目管理:
主要管理各项目、组和线上服务器对应关系以及访问权限。
【代码流程图】
【页面展示】
【总结】
现在V1版本已经上线,后期会根据新的需求进行修改。
本文出自 “David” 博客,请务必保留此出处http://davidbj.blog.51cto.com/4159484/1619199
原文地址:http://davidbj.blog.51cto.com/4159484/1619199