半自动发布系统之实现架构

前端:bootstrap  easyUI (这些都基于js html)

后端:python

web框架:django

数据库:mysql 或 sqlite(测试用的这个)

消息队列:rabbitmq

异步任务:celery

可选:nginx + uwsgi  + django 实现高并发

代码构思:

1 主机信息直接对应mysql的User表,增删改查,通过django的models实现

2 资源查看、服务管理、代码更新、远程命令 都需要连接相应服务器后,进行一些操作;通过parimiko实现远程连接和执行命令

3 代码更新支持在后台异步执行,需要celery,celery broker把任务发给rabbitmq,celery work再从rabbitmq消费,然后结果存储到数据库中,通过判断任务是否完成来控制进度条

4 前端通过bootstrap实现基本样式,通过easyUI实现一些动态效果,通过js和jQuery调用api实现数据读取

5 考虑到2的复用性,把2中的服务连接、执行命令等部分抽象出来,单独封装

开发工具:

mac 笔记本一台:代码开发用(安装好pycharm python3 django celery rabbitmq等等)

公网服务器一台:安装tomcat(主要测试的就是tomcat的代码发布、回退)

猜你喜欢

转载自www.cnblogs.com/lejie/p/9274053.html
今日推荐