自动化部署之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名词. 代 ...
随机推荐
- Visual Studio 各版本下载
http://baike.baidu.com/link?url=guN2bFtq-TvtdH-iDSiYFDJ-HF8R4_12qz6QRjxKxP2Nz8jK0p70KlmudolZOg-C3umq ...
- C# http get与post请求方法
public class HttpTools { public static string GetRequest(string url) { HttpWebRequest request = (Htt ...
- Java SE之反射技术[Field](二)
如果对于反射的基本概念还不了解的请见上一帖子.本文仅谈fields的用法demo /** * * @author Zen Johnny * */ package com.cpms.test; impo ...
- Bootstrap 时间控件datetimepicker与timepicker
一.datetimepicker 首先,我们看看点击选择时间的时候的展示页面吧 年 月 ...
- 【Eclipse】Eclipse中打开cmd窗口和terminal窗口
在IDEA的时候可以直接使用terminal打开类似于cmd窗口的功能,于是想着在eclipse也使用类似的功能. 1.Eclipse打开类似于cmd窗口的功能.(DOS) 1.window——> ...
- Java调整JVM内存大小——(八)
JVM内存大小是有限的,有的时候程序过大时候会导致超出最大内存,产生下面异常: Exception in thread "main" java.lang.OutOfMemoryEr ...
- hadoop学习笔记之一步一步部署hadoop分布式集群
一.准备工作 同一个局域网中的三台linux虚拟机,我用的是redhat6.4,如果主机是windows操作系统,可以先安装vmware workstation, 然后在workstation中装上3 ...
- Docker镜像命令
①docker images [Options] 用途:列出本地主机上的镜像 Options说明: -a:列出本地所有的镜像(含中间映像层) -q:只显示镜像ID --digests:显示镜像的摘要信 ...
- MySQL在线更改binlog格式
今天变更jboss报错如下: SQLWarning ignored: SQL state ', message [Unsafe statement written to the binary log ...
- springboot系列一、springboot产生背景及介绍
一.为什么用Springboot 长期以来 Java 的开发一直让人所诟病: ·Java 项目开发复杂度极其高: · Java 项目的维护非常困难: · 在云时代如何实现项目的快速部署以及快速启动: ...