使用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单线程实现多个定时器示例
Mar 30 Python
Python使用稀疏矩阵节省内存实例
Jun 27 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
python实现图片批量压缩程序
Jul 23 Python
Python日期时间Time模块实例详解
Apr 15 Python
对python 调用类属性的方法详解
Jul 02 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
关于python爬虫应用urllib库作用分析
Sep 04 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 变量定义方法
2009/06/14 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
45个JavaScript编程注意事项、技巧大全
2015/02/11 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python实现巡检系统(solaris)示例
2014/04/02 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python Tkinter版学生管理系统
2019/02/20 Python
python实现滑雪游戏
2020/02/22 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
信息管理应届生求职信
2014/03/07 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
宣传工作经验材料
2014/06/02 职场文书
迁户口计划生育证明
2014/10/19 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers