自动化部署之gitlab权限管理--issue管理
一.删除测试项目
先进入项目,选择编辑项目
二.拉取到最下方,移除项目
三 输入你要删除的项目名称
二 创建Group,User,Project
2.1 创建一个组,组名为java
Group path http://10.0.0.12/java
Visibility Level: #为权限级别,一般使用Private
Private
Internal
Public
group里面的用户会集成项目的权限,所以组里面一般只添加管理员和项目经理的权限,后面在单独给某个项目分配权限.
2.2 创建用户(用户最好对接到ldap或者ad域中)
创建一个项目
2.3 设置app项目的用户权限
管理员权限和项目经理的权限已经通过组默认继承过来了
2.4 测试user1,user2拉取代码库
生成密钥
[root@7mini-node1 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:yS/DX9BAbakf9oPRJ5YC+iwwlMu+C2Ps6DE1GmqzKGA root@7mini-node1
The key's randomart image is:
+---[RSA 2048]----+
| . .. . |
| o .. + |
| o . ..+ . . |
| =....o= = .|
| . o. oSo.o.B o |
|.E = .....o.o o |
|+o+ = .+.. . . |
|+ o* o. + . |
|ooo . .. . |
+----[SHA256]-----+
[root@7mini-node1 ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCU4UsK8DAhs3NjohtfaNTU8zJ/RHZBMRmY0c9xTFTtjZZtbONCgJGYAMIb6fjRBWG5pSS+EqA49vgM3TOnBasLlngbYxOMuwGT6OMMxB90hkOeOPn1Jg3Vhy7+1l2iem/O4+F1EsA5Q61d02VqQ/HUsLZ/Ka4Y1FDCVIrq9L38bfLq32esOVsxl9PaL/vJlTzqXozVNc169M5G8zdJycni9XdHuVH3tk4BkU4JmSHCaBHtcZRKzLJ1nT3Ox2W19JReuuLRbZNI1I9HDmdsWqlbj3kmOd6FWA7S9rWuzCN353q53BXi5GX/xq0hYgoukNSmZ+JLB8BOpfNPqdUXPdV7 root@7mini-node1
将公钥(id_rsa.pub)放进dev1账户中
在admin账户下给dev1,dev2账户设置密码,然后使用dev1登录gitlab,做如下操作添加ssh-key:
测试是否能正常拉取代码库app
[root@7mini-node1 ~]# git clone git@10.0.0.12:java/app.git
Cloning into 'app'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done
下面以PM用户进行创建开发计划
三 开发一个官网V1.0版本,包含首页和新闻
3.1 创建里程碑(Milestone)
3.2 依次把任务首页,新闻添加到里程碑,并进行任务分配给开发者
3. 3 使用dev1用户登录查看,会有任务提示,如图:
3.4 dev1开发者收到任务,进行开发
[root@linux-node1 app1]# git checkout -b shouye #创建首页分支
Switched to a new branch 'shouye'
[root@linux-node1 app1]# git status
On branch shouye
nothing to commit, working directory clean
[root@linux-node1 app1]# echo "<h1> welcome to www.123.com" > index.html #进行开发
[root@linux-node1 app1]# ll
total
-rw-r--r-- root root Dec : index.html
-rw-r--r-- root root Dec : readme
[root@linux-node1 app1]# git add .
[root@linux-node1 app1]# git commit -m "shouye" #开发完成,提交本地仓库
[shouye babdcb5] shouye
file changed, insertion(+)
create mode index.html
[root@linux-node1 app1]# git push origin shouye #提交到远程库
Counting objects: , done.
Compressing objects: % (/), done.
Writing objects: % (/), bytes | bytes/s, done.
Total (delta ), reused (delta )
remote:
remote: To create a merge request for shouye, visit:
remote: http://192.168.56.11/java/app1/merge_requests/new?merge_request%5Bsource_branch%5D=shouye
remote:
To git@192.168.56.11:java/app1.git
* [new branch] shouye -> shouye
3.4 可以看到有刚才创建的分支,点击"merge request"合并分支请求,之后PM用户登录处理合并请求。此时,一个功能的开发流程就完成。
3.5 首页项目测试没问题后,在user1用户请求项目经理融合到master分支上面去,经理确认。
总结:
PM在gitlab创建任务,分配给开发人员
开发人员领取任务后,在本地使用git clone拉取代码库
开发人员创建开发分支(git checkout -b dev),并进行开发
开发人员完成之后,提交到本地仓库(git commit )
开发人员在gitlab界面上申请分支合并请求(Merge request)
PM在gitlab上查看提交和代码修改情况,确认无误后,确认将开发人员的分支合并到主分支(master)
开发人员在gitlab上Mark done确认开发完成,并关闭issue。这一步在提×××并请求时可以通过描述中填写"close #1"等字样,可以直接关闭issue。
自动化部署之gitlab权限管理--issue管理的更多相关文章
- Gitlab+Jenkins学习之路(三)之gitlab权限管理--issue管理
1.创建Group,User,Project 创建一个组,组名为java Group path http://192.168.56.11/java Visibility Level: #为权限级别,一 ...
- Gitlab权限管理-issue管理[六]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 设置好密码后登录进入管理目录 创建组 设置组名和权限 创建用户 已有四个用户了 给p ...
- Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...
- Jenkins+maven+gitlab自动化部署之gitLab搭建(二)
Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4
- 自动化部署三剑客 gitlab + ansible + jenkins
http://www.showerlee.com/archives/1880 https://edu.51cto.com/center/course/lesson/index?id=280700 Gi ...
- 自动化部署--shell脚本--2
node1和node2都装apache [root@linux-node1 ~]# yum install httpd -y Loaded plugins: fastestmirror Loadi ...
- 持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]
转载:https://www.abcdocker.com/abcdocker/2065 一.代码流水线管理 Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目.如果使用jenkin ...
- Centos7安装gitlab11 学习笔记之基础概念、部署安装、权限管理、issue管理
一.基础介绍 1.简介 一个基于GIT的源码托管解决方案 基于rubyonrails开发 集成了nginx postgreSQL redis sidekiq等组件 2.安装要求 2g内存以上,有点占内 ...
- 持续集成与自动化部署---代码流水线管理及Jenkins和gitlab集成
1.代码流水线管理 Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目.如果使用jenkins构建完成后,开发构建项目需要一项一项点击,比较麻烦.所以出现pipeline名词. 代 ...
随机推荐
- springboot(七)邮件服务
简单使用 发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息.最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring退出了JavaMai ...
- 淘淘商城之Ajax跨域请求
一.什么是跨域 (1)域名不同时: (2)域名相同,端口不同时 二.解决方法 可以使用jsonp解决跨域问题 三.什么是jsonp jsonp其实是一个跨域解决方案,js跨域请求数据是不允许的,但是跨 ...
- xss漏洞利用
简述 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息.攻击者通过在链接中插入恶意代码,就能够盗取用户信息.攻击者通常会在有漏洞的程序中插入 JavaScript.VBScript. ...
- dense prediction
Dense prediction fully convolutional network for sementic segmentation 先用feature extractor 提特征,然后再使 ...
- C++中返回值
函数的返回值用于初始化在调用函数是创建的临时对象. 1.返回值为非引用类型: 会将函数的返回值复制给临时对象.跟实参初始化形参的方式一样. 2.返回值为引用类型: 没有复制返回值,返回的是对象本身.返 ...
- Linux - 操作系统信号
linux操作系统提供的信号 kill -l # 查看linux提供的信号 trap # shell使用 trap 捕捉退出信号 # 发送信号一般有两种原因: # (被动式) 内核检测到一个系统事件. ...
- QToolButton按钮
继承 QAbstractButton QToolButton是与工具操作相关的按钮,通常和QToolBar搭配使用.QToolButton一般不用来显示文本,而显示图标QIcon 需要 from P ...
- CentOS6.4下Mysql数据库的安装与配置
原文连接:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 说到数据库,我们大多想到的是关系型数据库,比如 ...
- SpringBoot2.x配置文件讲解
SpringBoot2.x配置文件讲解 简介:SpringBoot2.x常见的配置文件 xml.yml.properties的区别和使用 xml.properties.json.yaml 1.常见的配 ...
- JS实现随机背景图片与图片大小变换的效果
经常在网上见一些网站访问一次背景图片改变一次,而且图片的大小不停变换,于是想着自己研究一下. 背景图片可以通过JS的随机数来改变图片的src来实现随机图片,图片的大小变换可以用JS的setInterv ...