使用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爬取斗鱼app中照片方法实例
Dec 03 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python发送告警邮件脚本
Sep 17 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
python 经典数字滤波实例
Dec 16 Python
python Tensor和Array对比分析
Jan 08 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
layui实现给某一列加点击事件
2019/10/26 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
详解详解Python中writelines()方法的使用
2015/05/25 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
使用python编写监听端
2018/04/12 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
python中元组的用法整理
2020/06/15 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
Django封装交互接口代码
2020/07/12 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
反腐倡廉演讲稿
2014/05/22 职场文书
转让协议书范本
2014/09/13 职场文书
满月酒邀请函
2015/01/30 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书