使用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 元类使用说明
Dec 18 Python
python实现探测socket和web服务示例
Mar 28 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
Python实现简单过滤文本段的方法
May 24 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
Python docutils文档编译过程方法解析
Jun 23 Python
python try...finally...的实现方法
Nov 25 Python
Pandas数据类型之category的用法
Jun 28 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/06 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
python多线程方式执行多个bat代码
2016/06/07 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
python and or用法详解
2019/06/26 Python
Python3 批量扫描端口的例子
2019/07/25 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
结束运行python的方法
2020/06/16 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
民政局离婚协议书范本
2014/10/20 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python