使用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中列表(list)操作方法汇总
Aug 18 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
图文详解WinPE下安装Python
May 17 Python
Python中扩展包的安装方法详解
Jun 14 Python
Python实现发送QQ邮件的封装
Jul 14 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
详解python itertools功能
Feb 07 Python
对python中各个response的使用说明
Mar 28 Python
基于CentOS搭建Python Django环境过程解析
Aug 24 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 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的ob_start();控制您的浏览器cache!
2007/02/14 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
javascript call方法使用说明
2010/01/11 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python模块 _winreg操作注册表
2020/02/05 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
入党自我鉴定范文
2013/10/04 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
大型晚会策划方案
2014/02/06 职场文书
公司员工活动策划方案
2014/08/20 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
力克胡哲观后感
2015/06/10 职场文书
小学班级管理心得体会
2016/01/07 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
html form表单基础入门案例讲解
2021/07/15 HTML / CSS
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP