Gitlab的安装及使用

###################相关概念

GitLab基本介绍
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。
它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
本篇教程将教你如何安装部署及使用GitLab。
Git的家族成员
Git:是一种版本控制系统,是一个命令,是一种工具。
Gitlib:是用于实现Git功能的开发库。
Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。
GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
Gitlab的服务构成
Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。
gitlab-workhorse: 轻量级的反向代理服务器。
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。
GitLab工作流程
这里写图片描述


###########################Gitlab环境部署

ECS配置要求:内存2G以上
环境:rhel6.5
主机:虚拟机ckd1——>172.25.254.1
步骤:
(1)配置yum源

vim /etc/yum.repos.d/yum.repo

复制以下内容:

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
这个网址是网络端的yum源,因此需要在主机联网状态下才能够
使用。我的系统是rhel6.*的所以使用http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6,
在对应版本的系统下使用对应的yum源版本,不然可能会出现错误。
rhel7.*的可以使用el7的yum源。
Repo_gpgcheck=0
Enabled=1
gpgcheck=0

需要注意的是,我这里使用的是虚拟主机,那么如何让虚拟机能够上网以使用yum源呢?我再赘述一次。
虚拟机操作:
1.添加一个网关,保持和真机ip一致。
这里写图片描述
2.修改网络配置文件

vim /etc/resolv.conf
写入:nameserver 114.114.114.114

这里写图片描述
真机操作:

iptables -t nat -I POSTROUTING -s 172.25.254.1/24 -j MASQUERADE

就仅仅这三步,是不是很简单。(请务必掌握)
验证:
这里写图片描述
(2)更新本地yum缓存

 yum makecache

(3)安装GitLab社区版

yum intall gitlab-ce        #自动安装最新版
yum install gitlab-ce-x.x.x    #安装指定版本

注意:安装过程是需要联网的。
GitLab常用命令:

sudo gitlab-ctl start    # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;
sudo gitlab-ctl restart        # 重启所有 gitlab 组件;
sudo gitlab-ctl status        # 查看服务状态;
sudo gitlab-ctl reconfigure        # 启动服务;
sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
sudo gitlab-ctl tail        # 查看日志;

(4)修改gitlab配置文件

root@server11 ~]# vim  /etc/gitlab/gitlab.rb
external_url 'http://172.25.254.1'       #访问gitlab的地址
[root@server11 ~]# gitlab-ctl reconfigure  #启动服务(耗时较长)

(5)登录gitlab,在浏览器输入自己的gitlab访问地址。
注意:第一次登录使用的用户名和密码为 root 和 5iveL!fe。首次登录会强制用户修改密码。密码修改成功后,需要重新输入新密码进行登录。
这里写图片描述
这里写图片描述
(6)创建Project
安装Git工具linux:安装Git,使用自带的源安装。

yum install git

这里写图片描述
这里写图片描述
(7)生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub

[root@server1 .ssh]# ssh-keygen 
[root@server1 .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts  README.md
[root@server1 .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3UUgTea40AajYIbMy3nuWiSTgXXdo+HQTyCYgJNWjzRrbH1xyLKfZc8APdqx6s0RlIJisDBCfsSG8QnXudrtZWuurCtqkFiMxvlkC9g0RMOrarzHH7Z5tDxYmDjbNJwnO0OaOcpoWgafHypsZn2QM5yrAG73lObnyGhRoxmSAkOTFobw+KXDZwDg0M8+jXtEcTGLO3Gz1BXeCkHzONBC3Jh12SGC68cWJjqblsl4BOPlPHN0GzOfHA7+RGTmOKY3UTedW4XB1Bs9D2xP/42bi1E5NSIxK68BynTfB/pzIigBVfLAZMYVJRtzP3O/pmb9G7+ZOePJsI6kPqUkRxH7WQ== root@server1

(8)上传公钥到gitlab,http://172.25.254.1/profile/keys下添加sshkey 。
这里写图片描述
(9)添加git用户信息

# 配置使用Git仓库的人员姓名
[root@server11 ~]# git config --global user.name "kobe"
# 配置使用Git仓库的人员email,填写自己的公司邮箱
[root@server11 ~]# git config --global user.email "mamba@lakers.org"
[root@server11 ~]# git config --global --list
user.name=kobe
user.email=mamba@lakers.org

(10)进入到项目目录,创建需要上传到GitLab中的目标文件,将目标文件或者目录拷贝到项目目录下。

root@server11 ~]# cd  test/
[root@server11 test]# echo "test" > test.sh
root@server11 test]# git add test.sh 

(11)将test.sh文件加入到索引中,将test.sh提交到本地仓库,将文件同步到GitLab服务器上。

root@server11 test]# git add test.sh 
root@server11 test]# git  commit -m "test.sh"
root@server11 test]# git push -u origin master

(12)在网页中查看上传的test.sh文件已经同步到GitLab中。
这里写图片描述
至此,gitab的安装和配置就完成了,有没有觉得很简单,快快动手,一起get技能。

猜你喜欢

转载自blog.csdn.net/chao199512/article/details/81990409