使用django实现一个代码发布系统


Posted in Python onJuly 18, 2019

一 前期说明:

我运行项目的环境是nginx+php,存储代码用的是gitlab,

python版本:3.6 django版本:2.2.1 mysql版本:5.7

二 大体思路

1 需要知道主机的用户名,密码,端口号,

2 需要知道gitlab的用户名和密码

3 我准备把上面两条的信息,存储到当前登录用户的session中。

三实现功能

1 针对单个主机发布和回滚代码

2 可以批量发布和回滚代码

3角色分为管理员,开发,运维,测试,产品几个角色,每个角色返回不同的页面,利用rbac基于角色去实现不同的权限

4 管理员拥有所有权限,可以添加编辑,删除所有的东西

5 分页功能和快速搜索功能

6 当开发申请一个上线单,会邮件通知相关的运维和测试,以及项目负责人去审核。

四效果展示

针对不同的用户展示不同的页面

1 登陆页面展示

使用django实现一个代码发布系统

2 admin用户展示页面

使用django实现一个代码发布系统

3 运维展示页面

使用django实现一个代码发布系统

4 开发展示页面

使用django实现一个代码发布系统

5 测试展示页面

使用django实现一个代码发布系统

6 产品展示页面

使用django实现一个代码发布系统

发布代码

1 找到项目列表,添加你所需要的一个项目,包括仓库地址,选择这个项目要发布到那台主机上面

使用django实现一个代码发布系统

添加效果如下所示:

使用django实现一个代码发布系统

2 添加完成之后,点击上线按钮,如下所示,添加一个指定的分支,然后点击获取代码,

使用django实现一个代码发布系统

3 拉完代码之后,点击发布代码,在发布代码之前,我先去gitlab上面去编辑一个html文件

如下所示:里面还包含了一张北魏时期的地图,哈哈

使用django实现一个代码发布系统

然后我点发布,如下所示,选中你要发布的主机

使用django实现一个代码发布系统

发布成功效果,

使用django实现一个代码发布系统

去浏览器里面验证效果:

使用django实现一个代码发布系统

回滚代码

还是找的项目列表,点击回滚按钮,如下所示:

使用django实现一个代码发布系统

回滚效果

使用django实现一个代码发布系统

使用django实现一个代码发布系统

代码我放到了github上面 ,git clone -b deploy_7-4

第一次写还有很多不足,希望互相学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实例分享:快速查找出被挂马的文件
Jun 08 Python
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
使用python实现接口的方法
Jul 07 Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 Python
用Python实现读写锁的示例代码
Nov 05 Python
python使用插值法画出平滑曲线
Dec 15 Python
selenium在执行phantomjs的API并获取执行结果的方法
Dec 17 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python实现SMTP邮件发送
Jun 16 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
安装pytorch时报sslerror错误的解决方案
May 17 Python
使用pycharm运行flask应用程序的详细教程
Jun 07 Python
python 将字符串中的数字相加求和的实现
Jul 18 #Python
TensorFlow实现简单的CNN的方法
Jul 18 #Python
windows上安装python3教程以及环境变量配置详解
Jul 18 #Python
Django 开发环境配置过程详解
Jul 18 #Python
解决Django中多条件查询的问题
Jul 18 #Python
python openpyxl使用方法详解
Jul 18 #Python
Python Django基础二之URL路由系统
Jul 18 #Python
You might like
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
js Html结构转字符串形式显示代码
2011/11/15 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
Python中关键字is与==的区别简述
2014/07/31 Python
Python实现一个简单的MySQL类
2015/01/07 Python
python中引用与复制用法实例分析
2015/06/04 Python
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Flask数据库迁移简单介绍
2017/10/24 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python如何生成网页验证码
2018/07/28 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
python自动发微信监控报警
2019/09/06 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
党员学习十八大感想
2014/01/17 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
情人节寄语大全
2014/04/11 职场文书
公司租车协议书
2015/01/29 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers