使用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中实现定制类的特殊方法总结
Sep 28 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
python django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
python多任务之协程的使用详解
Aug 26 Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
django 读取图片到页面实例
Mar 27 Python
Python如何生成xml文件
Jun 04 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
python迷宫问题深度优先遍历实例
Jun 20 Python
聊聊Python String型列表求最值的问题
Jan 18 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输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Python中encode()方法的使用简介
2015/05/18 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
生日主持词
2014/03/20 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书