使用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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
asp日期函数运用--生成简单的日历
![](https://img.aspxhome.com/file/UploadPic/20088/15/2008815134819595s.gif)
寻找Dreamweaver鲜为人知的小秘诀
一个不错的javascript加密解密算法源码
css特性:空白外边距互相叠加
![](https://img.aspxhome.com/file/UploadPic/20106/21/100530a-82s.jpg)
用ASP编程实现网络内容快速查找
Python使用POP3和SMTP协议收发邮件的示例代码
![](https://img.aspxhome.com/file/2023/0/62890_0s.jpg)
CSS关于Border你可能会不注意的东西
![](https://img.aspxhome.com/file/UploadPic/200710/20/20071020135623390s.gif)
35个Python编程小技巧
Yii2 rbac权限控制之菜单menu实例教程
![](https://img.aspxhome.com/file/2023/1/88281_0s.png)
JS版的date函数(和PHP的date函数一样)
sqlserver数据库迁移后,孤立账号解决办法
使用python接入微信聊天机器人
全屏flash的尺寸分析
![](https://img.aspxhome.com/file/UploadPic/20092/11/01-11s.jpg)