使用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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
python通过pil为png图片填充上背景颜色的方法
Mar 17 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
Python处理Excel文件实例代码
Jun 20 Python
分分钟入门python语言
Mar 20 Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
python实现串口通信的示例代码
Feb 10 Python
使用anaconda安装pytorch的实现步骤
Sep 03 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
python神经网络学习 使用Keras进行回归运算
May 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中的MVC模式运用技巧
2007/05/03 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
Javascript的闭包
2009/12/31 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
python getopt 参数处理小示例
2009/06/09 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Python实现的计算器功能示例
2018/04/26 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
应届生保险求职信
2013/11/11 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
卖车协议书范例
2014/09/16 职场文书
教学副校长工作总结
2015/08/13 职场文书
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技