使用django实现一个代码发布系统

一 前期说明:

我运行项目的环境是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

第一次写还有很多不足,希望互相学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Django基础知识 URL路由系统详解

    MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示: MTV Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值: M 代表模型(Model):

  • Django实现学生管理系统

    Django学习笔记-学生管理系统(Django实现)笔记中仅实现了对数据的全部查询. 下面实现新增.删除.修改,代码如下. 下面的代码没有对输入框内容进行限制,如果输入不符合规则的内容,会出现错误. 本篇更新完毕后Django更新暂停一段,由于工作岗位是测试工程师,后面将重点关注测试相关内容. views.py from django.shortcuts import render,reverse from stusys import models from django.http impor

  • Django admin实现图书管理系统菜鸟级教程完整实例

    Django 有着强大而又及其易用的admin后台,在这里,你可以轻松实现复杂代码实现的功能,如搜索,筛选,分页,题目可编辑,多选框. 简单到,一行代码就可以实现一个功能,而且模块之间耦合得相当完美. 不信,一起来看看吧!?用Django实现管理书籍的系统,并能在前台界面对书籍进行增删查改,筛选,分页,以及批量查询修改功能. 准备工作 #准备好你的数据库模型思维导图 0.新建一个Django项目,起名为books,并且同时新建一个应用book11 1.首先要设置models模块,根据思维导图,我

  • python django框架中使用FastDFS分布式文件系统的安装方法

    一.安装FastDFS 1-1:执行docker命令安装 # 安装tracker docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs youkou1/fastdfs tracker # 安装storage docker run -dti --network=host --name storage -e TRACKER_SERVER=IP地址:22122 -v /var/fdfs/storage:

  • django的登录注册系统的示例代码

    摘要 django框架本身自带有登录注册,也可以自己写登录注册,下面将介绍这这2种方式实登录注册 一.自己写登录注册登出 1.注册regist 注册采用的是form表单,提交到数据库,在登录的时候,查询数据看,看用户有没有注册,如果用户没有注册,则返回注册页面注册 (1)models.py文件里创建相关的字段: 用户名字/用户密码/cookies携带的ticket from django.db import models # Create your models here. class User

  • 使用django实现一个代码发布系统

    一 前期说明: 我运行项目的环境是nginx+php,存储代码用的是gitlab, python版本:3.6 django版本:2.2.1 mysql版本:5.7 二 大体思路 1 需要知道主机的用户名,密码,端口号, 2 需要知道gitlab的用户名和密码 3 我准备把上面两条的信息,存储到当前登录用户的session中. 三实现功能 1 针对单个主机发布和回滚代码 2 可以批量发布和回滚代码 3角色分为管理员,开发,运维,测试,产品几个角色,每个角色返回不同的页面,利用rbac基于角色去实现

  • Django框架实现在线考试系统的示例代码

    1.Django的简介 Django是一个基于MVC构造的框架.但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model).模板(Template)和视图(Views),称为 MTV模式.它们各自的职责如下: 层次 职责 模型(Model),即数据存取层 模型(Model),即数据存取层 模板(Template),即表现层 处理与表现相关的决定: 如何在页面或其他类型文档中进行显示. 视图(View),即业务逻辑层 存取模型及调取恰当模板的相

  • nodejs教程之制作一个简单的文章发布系统

    前言 我们今天就来做一个简单的新闻发布系统,系统第一阶段不需要太难,主要有以下功能 ① 新闻类型管理 ② 新闻管理(具有图片上传功能) ③ 新闻浏览 功能虽然不多,但是也涵盖很多基本操作了,程序不过增删查改嘛,外加上传附件,够了.于是开始我们今天的学习吧 准备工作 根据昨天的折腾后,我们已经有了nodeJS与mongoDB环境了,现在直接新建工程文件与数据库文件即可 第一步,打开命令符切换到D盘后输入 复制代码 代码如下: D:\>express -e news 于是系统会自动开开心心构建基本环

  • pycharm+django创建一个搜索网页实例代码

    本文主要研究的是pycharm+django创建一个搜索网页的实例代码,具体步骤和代码示例如下. 创建工程 比如,我创建的工程目录结构如下: 命令行 进入windows命令行,进入根目录: python manage.py startapp django_web 接着你会在pycharm中发现,多了一个django_web文件夹.如下将截图: 创建一个test.html <!DOCTYPE html> <html> <head> <title>开始搜索<

  • Django完整增删改查系统实例代码

    目录 一.效果图如下 二.使用步骤 1.创建并配置一个django项目 1.1新建一个项目ch3 1.2创建应用employee 1.3指定ch3项目的应用程序emyployee 1.4与数据库相连 1.5 定义与使用模型 1.6生成迁移文件 二.实现数据库增删改查 2.1视图文件 2.2前端页面 2.2.1主页面(list_dep_old.xml) 2.2.2增加数据页面(add_dep_old.html) 2.2.3修改页面(edit_dep_old.html) 2.3在主项目中添加路由 总

  • php redis实现文章发布系统(用户投票系统)

    本文实例为大家分享了php实现文章发布系统.用户投票系统的具体代码,供大家参考,具体内容如下 /** * @data 文章发布 * 文章详情散列表中递增ID,讲文章发布者ID写入投票用户集合中,设置投票时间为一周 * 讲文章内容写入文章散列中,讲文章写入文章评分有序集合和文章发布有序集合中 * @author Lorne * @date 2017-03-03 */ public function post_article($user){ $VOTE_SCORE = 24; $redis = $t

  • 简单的php新闻发布系统教程

    简单的php新闻发布系统教程(第一版)第一讲:用 phpmyadmin 建立数据库首先建立一个数据库,名为 yayu .在这个数据库下建立一个数据表,名为 news .下面进入一个重点,那就是在表 news 下建立各个字段. 那么,什么叫字段呢?通俗点,就是一类事物的总称.比如说,所有的新闻发表时间用一个名词来代表(从偶的经验来看,用 phpmyadmin 建立 字段可以用中文,但从习惯来说还是用英文,没办法,计算机美国最牛嘛).偶们用" time "来表示.在字段 time 下可以有

  • 使用Django搭建一个基金模拟交易系统教程

    亲手教你如何搭建一个基金模拟系统(基于Django框架) 第一步:创建项目.APP以及静态文件存储文件夹 django-admin startproject Chongyang django-admin startapp Stock # Chongyang文件夹里面操作 在chongyang项目创建statics和templates两个文件夹 第二步:配置Setting.py文件 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib

  • Python django框架开发发布会签到系统(web开发)

    引言 最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下.也是为了练练手,巩固知识.现在就分享一下成果~ Django工作流 学习django web开发,先来简单了解一下django的工作机制,请看下图: 简单说明: 用户通过浏览器访问:http://127.0.0.1:8000/index,首先运行的是urlpatterns程序,通过url路由找到对应的视图函数views.py,视图函数处理所有逻辑和数据,并且将用户要的数据经过函数处理后通过ind

  • Django用户登录与注册系统的实现示例

    1.1.创建项目和app django-admin startproject mysite_login python manage.py startapp login 1.2.设置时区和语言 Django默认使用美国时间和英语,在项目的settings文件中,如下所示: LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True 我们把它改为亚洲/上海时间和中文 LANGUAGE_

随机推荐