gitlab一般用于:
1.开发工程中各种文件变更的管理
最主要的功能是追踪文件的变更,将信息记录下来。每一次文件的改变,版本号都会增加

2.并行开发
软件开发时往往是多人协同,而版本控制可以解决版本同步以及不同开发者的通信问题

3.版本回退,类似于虚拟机的快照
每项开发任务中,都需要首先设定开发基线的版本,然后开发出所需的目标版本,当需求发生便变更时,通过对变更的评估,及确定变更的影响范围,对被影响的配置项的版本进行修改
在开发需求变更被取消时,需由能力将版本回推至开发基线版本,
例:在季度升级包拆包和重新组包时,是将比分配置的版本退回开发基线,在将对应不同需求的不同分支重新组和归并,形成新的升级包版本


//关防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -ri 's/(SELINUX=).*/\1disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0

//配置安装163的源

[root@localhost ~]# cd /etc/yum.repos.d/
//创建备份目录
[root@localhost yum.repos.d]# mkdir /etc/repo-bf
//将原yum仓库的文件备份到repo-bf
[root@localhost yum.repos.d]# mv * /etc/repo-bf
//下载163的源到yum仓库
[root@localhost yum.repos.d]# curl -o 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
//将改为版本的7
[root@localhost yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/163.repo
[root@localhost yum.repos.d]# sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/163.repo
//自动配置yum的软件仓库,也可以自己配置
[root@localhost yum.repos.d]# yum -y install epel-release
[root@localhost yum.repos.d]# yum clean all
//安装编译环境
[root@localhost yum.repos.d]# yum -y install gcc gcc-c++
[root@localhost yum.repos.d]# yum -y install wget

//安装git

[root@localhost yum.repos.d]# yum -y install epel-release git

//安装依赖包

[root@localhost yum.repos.d]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python

//启动postfix服务并设置开机自启动,这是个邮件服务器

[root@localhost yum.repos.d]# systemctl restart postfix
[root@localhost yum.repos.d]# systemctl enable postfix

//下载gitlab的rpm包

[root@localhost yum.repos.d]#  cd /usr/src/
[root@localhost src]# ls
debug  kernels
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm

//安装gitlab

[root@localhost src]# rpm -ivh gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm

//修改配置文件

[root@localhost src]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.56.11'             将此处设置为gitlab的服务器地址或ip地址

//重新加载配置文件并重启

[root@localhost src]# gitlab-ctl reconfigure
[root@localhost src]# gitlab-ctl restart

//查看当前的gitlab版本

[root@localhost src]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 11.2.1

//设置管理员密码

[root@localhost src]# gitlab-rails console production      //也可用于重置密码
irb(main):001:0> user = User.where(id: 1).first           //id为1是超级管理员
=> #
irb(main):002:0> user.password = 'guohui123!'         //设置密码
=> "guohui123!"
irb(main):003:0> user.save!                        //保存修改
Enqueued ActionMailer::DeliveryJob (Job ID: 983489f7-a46e-44ff-90b4-cfc966a819fd) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
=> true                         /无问题则返回true
irb(main):004:0> exit     //退出

192.168.56.11

此处设置并输入新密码,
(网页这里可以用谷歌翻译)

LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第1张图片

LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第2张图片
进入管理区设置,选择项目(projects)
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第3张图片

gitlab常用管理操作

项目管理,创建新项目

LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第4张图片

创建组,组路径
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第5张图片
//创建后可在项目路径选择项目的组LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第6张图片
创建成员组,针对项目创建一个成员组
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第7张图片
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第8张图片
用户管理,添加gitlab用户,删除gitlab用户
添加用户记得设置密码
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第9张图片LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第10张图片
为项目添加用户以及用户的身份
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第11张图片
普通用户登陆,身份为开发者
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第12张图片

做运维知道这些就差不多可以了,其他的交给开发去做就好~
LINUX——gitlab版本控制,关于项目组管理,项目用户及权限管理的使用_第13张图片