一、gitlab简介
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
git 是一种版本控制系统,是一个命令,是一种工具
gitlib 是用于实现git功能的开发库
github 是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab 是一个基于git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于
github一样的系统,一般用于在企业、学校等内部网络搭建git私服
二、实验
实验环境:关闭iptables selinux为disabled
server1:172.25.129.1 (2G内存)
server2:172.25.129.2
虚拟机连网
物理机:
[root@foundation29 html]# iptables -t nat -I POSTROUTING -s 172.25.129.0/24 -j MASQUERADE
虚拟机:
[root@server1 yum.repos.d]# route add default gw 172.25.129.250
[root@server1 yum.repos.d]# vim /etc/resolv.conf ##写入 nameserver 114.114.114.114
更新本地yum缓存
[root@server1 yum.repos.d]# sudo yum makecache
安装最新版gitlib
[root@server1 yum.repos.d]# sudo yum intall gitlab-ce
[root@server1 ~]# sudo gitlab-ctl start
\[root@server1 ~]# vim /etc/gitlab/gitlab.rb
[root@server1 ~]# gitlab-ctl reconfigure
浏览器输入ip:首次登陆会强制用户修改密码,修改后登陆
[root@server1 ~]# yum install git ##安装Git工具
使用ssh-keygen生成密钥文件.ssh/id_rsa.pub
在GitLab的主页中新建一个Project
添加ssh key导入步骤2中生成的密钥文件内容:
[root@server1 ~]# git config --global user.name "westos" ##配置使用Git仓库的人员姓名
[root@server1 ~]# git config --global user.email "675655077@qq.com" ##配置使用Git仓库的人员email,填写自己的公司邮箱
[root@server1 ~]# git clone git@server1:root/test.git ##克隆项目,在本地生成同名目录,并且目录中会有所有的项目文件
上传文件
[root@server1 ~]# cd test/ ##进入到项目目录
[root@server1 test]# echo “test” > /root/test.sh ##创建需要上传到GitLab中的目标文件
[root@server1 test]# cp /root/test.sh ./ ##将目标文件或者目录拷贝到项目目录下
[root@server1 test]# git add test.sh ##将test.sh文件加入到索引中
[root@server1 test]# git commit -m “test.sh” ##将test.sh提交到本地仓库
[root@server1 test]# git push -u origin master
在网页中查看,已经提交上传成功