自动化部署之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名词. 代 ...
随机推荐
- 小程序Promise不支持finally解决方案
小程序Promise不支持finally解决方案 代码片段 点击链接即可在微信开发者工具中查看代码wechatide://minicode/t2eidemj7P3X git地址 基本思路 小程序的Pr ...
- CSS3美化有序列表
如图效果: <ol class="rightList"> <li> <span>周波</span> <span>< ...
- VUE2.0 饿了吗视频学习笔记(二):新版本添加路由和显示Header
https://gitee.com/1981633/vue_study.git 源码下载地址,随笔记动态更新中 webpack.dev.conf.js中添加两段代码 'use strict' cons ...
- Winform中使用WPF控件并动态读取Xaml
1.添加新项 2.在构造函数中加入 public partial class UserControl1 : UserControl { public UserControl1() { Initiali ...
- 如何在同一台服务器上部署两个tomcat
因为测试的需要,有时我们必须在同一个服务器上部署两个tomcat,然后去做应用的部署,那么很多同学可能会觉得比较为难,找的资料也比较的不齐全,那么今天华华就来给大家讲讲如何部署2个tomcat,并能够 ...
- proxysql 系列~审核功能
一 简介:今天我们来探讨下具体的审核功能 二 平台审计功能 一 proxysql 设置 set mysql-eventslog_filename = '/data/ProxySQL/log/sql. ...
- Mybatis入门学习笔记
1.定义别名 在sqlMapConfig.xml中,编写如下代码: <!-- 定义别名 --> <typeAliases> <!-- type: 需要映射的类型 alia ...
- SRS+flv.js打造兼容性较高的直播、点播平台
**************************************************************************************************** ...
- Bootstrap2.x与Bootstrap3.x的区别
做项目时,有时也会参考别的案例的优秀之处.在用Bootstrap的时候,发现很多项目代码都有区别,在<div>布局class上,有用.span*,有用.col-md-*,实际上是Boots ...
- Python之matplotlib库学习
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...