使用django实现一个代码发布系统
作者:huningfei 发布时间:2022-06-28 02:42:45
一 前期说明:
我运行项目的环境是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 登陆页面展示
2 admin用户展示页面
3 运维展示页面
4 开发展示页面
5 测试展示页面
6 产品展示页面
发布代码
1 找到项目列表,添加你所需要的一个项目,包括仓库地址,选择这个项目要发布到那台主机上面
添加效果如下所示:
2 添加完成之后,点击上线按钮,如下所示,添加一个指定的分支,然后点击获取代码,
3 拉完代码之后,点击发布代码,在发布代码之前,我先去gitlab上面去编辑一个html文件
如下所示:里面还包含了一张北魏时期的地图,哈哈
然后我点发布,如下所示,选中你要发布的主机
发布成功效果,
去浏览器里面验证效果:
回滚代码
还是找的项目列表,点击回滚按钮,如下所示:
回滚效果
代码我放到了github上面 ,git clone -b deploy_7-4
第一次写还有很多不足,希望互相学习。
来源:https://blog.51cto.com/825536458/2416653
猜你喜欢
- 作用:可以清空此文件所在的web站点所有文件,将文件内容清零.运行完毕所有文件大小都变成0字节.此代码本人原创,转载请注明转自本站,谢谢合作
- Python中有哪几种方法安装第三方模块,安装Python第三方模块的方法有很多,这里介绍三种方法安装第三方模块。【方法一】: 通过setu
- php屏蔽电话号码中间四位:Method 1:function hidtel($phone){  
- 1、注册时验证数据库用户名是否存在。 2、输入密码时提示密码强度和验证2次密码输入是否一样。 3、注册时验证数据库联系邮箱是否存在。 4、注
- Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为:connection can no
- ObjectUtil组件其实就是单例模式的最好范例,声明调用各个组件的时候,用ObjectUtil调用,可以有效的防止调用过多的类而导致错误
- <html> <head> <title> IE9 亲测JS各种去空格大全 </title>
- CSS Hack是在标准CSS没办法兼容各浏览器显示效果时才会用上的补救方法,在各浏览器厂商解析CSS没有达成一致前,我们只能用这样的方法来
- 字符串是日常开发中用到最多的数据类型之一,了解字符串首先要明白定界符。定界符有4种,单引号、双引号、heredoc、nowdoc,常使用的单
- 功能很简单,代码也很简洁,这里就不多废话了。package mainimport ( "fmt
- 初学者可以看看。在的img标签有两个属性分别为alt和title,对于很多初学者而言对这两个属性的正确使用都还抱有迷惑,当然这其中一部分原因
- 本文实例讲述了Python全局变量用法。分享给大家供大家参考,具体如下:全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量。今
- 帮网友小改了一下主题. 任务比较简单, 只是为一个三栏主题添加对 Widget 的支持而已,就先从这次简单的案例开始说吧.单侧边栏funct
- 概述基于Swoole的websocket服务,计划整合3篇进行技术整理,该服务主要有2个核心业务,用户消息服务(消息计数统计)和 客服IM消
- 简介序列化的目的是方便数据的传输和存储,在PHP中,序列化和反序列化一般用做缓存,比如session缓存,cookie等。反序列化中常见的魔
- // 和PHP一样的时间戳格式化函数// @param {string} format 格式
- 前言Python 字符串是一个内置的类型序列。字符串可用于处理 Python 中的文本数据。Python 字符串是 Unicode 点的不可
- PDO::getAvailableDriversPDO::getAvailableDrivers — 返回一个可用驱动的数组(PHP 5 &
- 以下所有代码全是在<head>...</head>之间,具体内容有:1,<title>…</tit
- XML、 XLink、 Namespace、 DTD、 Schema、 CSS、 XHTML...假如你从未接触XML, 或许你会感觉不知从