GitLab
GitLab是一个开源的用于仓库管理的项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,大家应该都知道也使用过github这个网站吧,这两个看起来非常的相似,他们有什么区别呢?
GitHub: 基于Git开发出来的一个大型的代码开源社区,免费注册一个账户就可以在上面免费托管自己的开源代码,也有私有仓库,不过为了提倡开源的宗旨,如果想要使用私有仓库就必须的付费。
GitLab: 与GitHub类似,都是基于Git开发出来的作品,也是免费且开源的,任意提交你的代码,添加sshKey等,不同的是,GitLab是可以搭建在个人的服务器上的,所有数据库信息也都在自己的服务器上,所以它适合团队内部的协作开发,其时可以将其看做成一个个人的github。
部署GitLab
环境配置
1、OS:RHEL7.3
2、CPU:尽量使用四核以上
3、MEM:官方建议4GB以上
这个对配置的要求确实高,如果太低的话,安装完成后服务真的会跑不起来
安装
1、GitLab 10.x版本后多了一些依赖,并且要启动sshd服务,所以我们先下载所需要的依赖并且开启sshd服务
使用yum安装policycoreutils-python,然后开启sshd并使其开机自启
2、GitLab的安装方式有很多,在官网都可以找到,这里我们使用rpm的方式安装,我们在网上下载到gitlab最新的rpm包,然后使用rpm -ivh进行安装,安装时间可能有一点长
这样就安装好了gitlab,下面还有提示,提示我们到配置文件中修改external_url,将url中的域名换成本机ip
vim /etc/gitlab/gitlab.rb
保存退出之后执行gitlab-ctl reconfigure(重新加载),然后继续等待服务启动完成
完成后,我们就可以在浏览器中输入本机ip进入gitlab界面了
第一次进入会提示你修改管理员密码,按照提示修改就行
修改完成后使用root用跟刚才修改的密码登陆
现在我们来创建一个仓库,跟之前在github上面创建仓库差不多,不过这次我们可以创建私有库了
点击Create project创建
为了使用git通过ssh方式直接拉取与上传代码,我们需要跟在github中一样,将sshKey复制到gitlab中
点击有上角的的下拉按钮选择setting进入后,在左边菜单栏选择SSH,然后将本地.ssh/目录下的id_rsa.pub文件内容复制到文本框中,然后点击AddKey
我们再回到刚刚创建的远程库中,就会看到出现git开头的url,我们就可以在本地使用这个url进行将远程库克隆到本地
还记得当时我们使用github的时候是怎样克隆的吗,一样的,只不过换了一下url,我们在本地新建一个目录,在里面将我们gitlab上的远程仓库克隆下来:
git clone git@172.25.66.250:root/demo.git
看出来了吧,跟使用github非常相似,有使用过github经验的话,使用起gitlab来就非常方便了。
我们来向gitlab远程仓库推送一下在本地修改之后的内容
修改README.md文件,写入一些内容,然后跟向github远程仓库推送流程一样,先将修改添加进暂存区,然后提交到版本库,最后推送至gitlab远程仓库
提交过程中出现了这样的错误,之前在使用github的时候也出现过这种情况,因为Git是分布式版本控制系统,所以每个人在使用的时候都必须自报家门,添加进自己的名字与email,使用了–global参数表示这台机器上所有的Git仓库都会使用这个配置,我们按提示执行:
然后再执行我们之前的操作
提交的时候提示没有什么可提交的,可见虽然之前抛出了错误,但是在抛出错误之前它还是提交成功了的,下面我们直接向远程库推送,还记得第一次推送的时候要使用-u选项吗,还记得-u选项的意思吗,对了,它会在将本地master分支推送向远程新的master分支的同时,将本地master分支与远程master分支连接起来,在以后执行就可以简化命令了
最后,我们在远程仓库中查看README文件内容