架构——19——gitlab部署及应用——2

gitlab:

Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过Web 界面进行访问公开的或者私人的项目
官方网站:https://about.gitlab.com

所需环境:

gitlab192.168.1.128
client-1192.168.1.129
client-2192.168.1.134

一、安装gitlab

1、安装前提软件

[root@gitlab ~]# yum install curl policycoreutils openssh-server openssh-clients postfix -y

2、下载清华gitlab安装包

[root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm		#下载rpm包到虚拟机

3、yum安装

[root@gitlab ~]# ls
gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
[root@gitlab ~]# yum -y install gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

4、修改配置文件,指定ip地址

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.128'		#修改

5、配置启动 gitlab

[root@gitlab ~]# gitlab-ctl reconfigure

查看状态

[root@gitlab ~]# gitlab-ctl status

6、gitlab服务管理命令(开启/关闭/重启)

[root@gitlab ~]# gitlab-ctl start/stop/restart

二、gitlab—管理配置

1、登录gitlab

http://192.168.1.128
管理员:root
密码:初始配置新密码,最少8位
在这里插入图片描述
在这里插入图片描述

2、取消注册功能

登录gitlab——admin area(顶部菜单栏小扳手图标)——左侧面板settings——Sign-up Restrictions——去除勾选sign-up enabled——下拉save保存
在这里插入图片描述

3、修改登录欢迎界面

登录gitlab——admin area——Appearance——填写管理员联系方式和logo——save
在这里插入图片描述

注销查看效果:

在这里插入图片描述

4、项目创建流程

1)创建用户

登录gitlab——admin area——new user——添加用户名、邮箱——create user——edit——修改密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)创建group

登录gitlab——admin area——new group
在这里插入图片描述
在这里插入图片描述
Gitlab中的组和项目有三种访问权限:
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到

把zhangsan用户添加到组中:
在这里插入图片描述
Gitlab用户在组中有五种权限:
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,测试、产品经理可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,开发人员可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

3)创建项目

登录gitlab——admin area——new project——注意选择组(dianfeng)
在这里插入图片描述
在这里插入图片描述
Gitlab中的组和项目有三种访问权限:
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到

4)创建完成

在这里插入图片描述

下拉有命令指示:
在这里插入图片描述

三、测试开发人员更新代码

1、上传ssh-key

1)本地用户创建秘钥
[root@client-1 ~]# ssh-keygen -t rsa
2)复制公钥内容
[root@client-1 ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWgoTp51qmBRBZKQHsSay2sHgWwCetFttNh/kNvcHfjKZbY/0n9IN1DrjPRlpcFfWikaly4atqYK58E6iKka7skBVe2jksMLYUrZCawN+gI82bO67618BZ/9R6b0k9t71vgqAunFvi9wDLwXD4RJZidMIHWubQFZQ7DcVnIshjtNPc7YwOqUY74630BO8y3VM7/6dl7W0//m3g4xMod3h7zD27w9ks2VGi9cmnFMdtrIdt0NGrFU6EPdiM7mZXD7/zfFMWf8Mj7WLLGvL7vgYhhTZARMRal7Cx9cERFPfc9ACdDih3SbqSFENjTyei+aR4qF/D455zN6hEP7DfeDwp root@client-1
3)黏贴到web界面

右上角——用户——settings——SSH Keys
在这里插入图片描述

2、克隆下载项目到本地

[root@client-1 ~]# git clone git@192.168.1.128:dianfeng/web.git

3、修改文件内容,再推送上传代码(管理员身份)

[root@client-1 ~]# git config --global user.name "zhangsan"
[root@client-1 ~]# git config --global user.email "zhangsan@163.com"
[root@client-1 ~]# cd web/
[root@client-1 web]# echo 123456 > new.txt
[root@client-1 web]# git add .
[root@client-1 web]# git commit -m "add new.txt"
[root@client-1 web]# git push -u origin master

4、查看结果

在这里插入图片描述

四、在客户机,普通开发人员更新代码流程

1、创建用户dev01,并将dev01用户添加到dianfeng组

登录gitlab——admin area——new user——添加用户名、邮箱——create user——edit——修改密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将dev01用户添加到dianfeng组
在这里插入图片描述

2、上传ssh秘钥

1)本地用户创建秘钥:
[root@client-2 ~]# ssh-keygen -t rsa
2)复制公钥内容
[root@client-2 ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC69HCCGj1qF009/pKjt7jPdA0OcIwRiWupuckLllqi5YPbHKvIsC4+j+g/l4s2dk1KNu6wPeEozNzkezPwGK8VIHnNuTCica6PTyK3qALxWgsFUtBWnpCf2NGjqu4rSCjZbfepsrqDn2pJWlwG/kidFDoWypHPYpc++XRD5GFpM+nY0+I6ofn00eDoV2cPIE/5ZxHr+Y9Nznq2ACE46rpyLrhqU0ez6ghqYM1HbtDQGDY6vcdaMFBJ2zHwfz+SUM/9M2XuVcTabUxLPsdbR5daTgWNWo0eRYGCl4Ea7mcfB+lNxyVxiYUID9M6mcxphrJf4p3ub0aQiwlZ5OdY6/on root@client-2
3)dev01登录

在这里插入图片描述

右上角——用户——settings——SSH Keys
在这里插入图片描述

3、关联远程仓库

[root@client-2 ~]# mkdir /data
[root@client-2 ~]# cd /data/
[root@client-2 data]# git init

[root@client-2 data]# git remote add origin git@192.168.1.128:dianfeng/web.git

4、下载同步代码

[root@client-2 data]# git pull origin master

5、创建分支,修改代码

[root@client-2 data]# git config --global user.name "dev01"
[root@client-2 data]# git config --global user.email "dev01@163.com"
[root@client-2 data]# git checkout -b ops
[root@client-2 data]# echo 6666666 > new111.txt
[root@client-2 data]# git add .
[root@client-2 data]# git commit -m "add new111.txt"

6、推送ops分支(普通用户无权推送master)

[root@client-2 data]# git push -u origin ops

7、dev01在web界面创建merge请求

create merge request
在这里插入图片描述
在这里插入图片描述

8、切换到管理员登录,进入项目,同意merge请求

左侧面板——merge requests——merge
在这里插入图片描述

9、验证

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值