gitlab部署安装

本文档详述了如何部署Gitlab,包括安装前提、下载安装包、配置与启动,以及用户管理、权限设置、SSH-key配置、项目创建与管理、代码同步等操作。还列举了常用的Git命令。
摘要由CSDN通过智能技术生成

gitlab


Gitlab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人的项目Gitlab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,他非常易于浏览提交过的版本并提供一个文件历史库。他还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找

官方网站:https://about.gitlab.com

安装

注意:内存一定不要小于4G

1.安装前提软件

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

2.下载清华gitlab安装包

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

3.复制rpm包到虚拟机,yum安装

[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.20'

5.配置启动 gitlab

[root@gitlab ~]# gitlab-ctl reconfigure

查看状态

[root@gitlab ~]# gitlab-ctl status

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

[root@gitlab ~]# gitlab-ctl start    开启
[root@gitlab ~]# gitlab-ctl restart  重启
[root@gitlab ~]# gitlab-ctl stop     关闭

7.登录gitlab
http://192.168.1.20
管理员:root
密码:初始配置新密码,最少8位

8.取消注册功能

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

9.修改登录欢迎界面

登录gitlab--admin area--Appearance--填写管理员联系方式和logo--save

下面Logo可以修改登录界面Logo

在这里插入图片描述

10.项目创建流程
(1)创建group

登录gitlab--admin area--new group

(2)创建用户

登录gitlab--admin area--new user--添加用户名、邮箱--create--edit--修改密码

(3)创建项目

登录gitlab--admin area--new project--注意选择组

11.Gitlab用户在组中有五种权限:

Guest:可以创建issue、发表评论,不能读写版本库

Reporter:可以克隆代码,不能提交,测试、产品经理可以赋予这个权限

Developer:可以克隆代码、开发、提交、push,开发人员可以赋予这个权限

Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限

Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

Gitlab中的组和项目有三种访问权限:

Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到

12.上传ssh-key
重开一台就可以,当做客户端

本地用户创建秘钥:
[root@client ~]# ssh-keygen -t rsa
复制公钥内容:
[root@client ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChk2kYtRcGjY4SdbfXq81MHyHqlGW5fvvA2ZY6kXpmfYkFfczegnJ6Y0lPTMonV05iUV20gi1TYBE8VbvIbGspapJMcHNAM2JdTKxABLPDvSrjZjBHWvnGFov0blvO2VA2tKEnENnSLsjqsFy939olwredjjM/aT34Rf11NlO6A6sML8g+H+koITVl5qIosbLXTFwZJBOiA17TiVLXJu3nPDN/fnPLoZDQ9Gz9zc2ISsSQTFOXHSTwPj01xXBuoeJ7HBUoim5Jj5/PpGXPbSPxDrz1vyFDjqaYMs4n6w7JZjYZvVTGCqdcbx48oV65FspNfwoZMPfxn5PLCOXJIjhH root@client

黏贴到web界面:右上角--用户--settings--SSH Keys--key--key Add

13.克隆下载项目

[root@client ~]# git clone git@192.168.1.20:dev/dev.git

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

[root@client dev]# git config --global user.name "root"
[root@client dev]# git config --global user.email "root@163.com"
[root@client ~]# cd dev/        #这注意啊别进错目录,这个目录是空的
[root@client dev]# echo 123456 > new.txt
[root@client dev]# git add .
[root@client dev]# git commit -m "add new.txt"
[root@client dev]# git push -u origin master

在这里插入图片描述

15.在客户机,普通开发人员更新代码流程
再开一台客户机,一共三台
(1)上传ssh秘钥

本地用户创建秘钥:
[root@tangsan ~]# ssh-keygen -t rsa
复制公钥内容:
[root@tangsan ~]# cat /root/.ssh/id_rsa.pub
dev01登录:右上角--用户--settings--SSH Keys--key--key Add

(2)关联远程仓库

[root@tangsan ~]# mkdir /data
[root@tangsan ~]# cd /data/
[root@tangsan data]# git init
[root@tangsan data]# git remote add origin git@192.168.1.20:dev/dev.git

(3)下载同步代码

[root@tangsan data]# git pull origin master

(4)创建分支,修改代码

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

(5)推送dev分支(普通用户无权推送master)

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

在这里插入图片描述

(6)dev01在web界面创建merge请求

create merge request

(7)切换到管理员登录,进入项目,同意merge请求

左侧面板--merge requests--merge

16.常用的git命令

git remote add [remote] [url] #添加(关联)远程库
git remote set-url [remote] [url] #修改远程仓库
git clone [url] #克隆远程仓库项目
git remote #查看指定远程仓库命名简写
git remote –v #查看远程仓库详细信息以及名称对应URL
git push -u remote master #第一次推送master分支的所有内容
git fetch remote [branch/tag] #下载远程仓库的所有变动
git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
git push remote [branch/tag] --force #强行推送当前分支至远程分支,及时冲突
git push remote [branch/tag] --all #推送所有分支到远程仓库
git remote rename [oldname] [newname] #修改远程仓库名称
git remote remove [name] #删除远程仓库名称以及URL地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值