企业级代码托管Gitlab
Gitlab概述:
一个利用Ruby on Rails开发的开元应用程序,从而实现一个代码托管项目仓库,可以通过web界面进行访问公开的或者私有的项目
Ruby on Rails是一个可以使开发,部署,维护web应用程序变得简单的框架
Gitlab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问,非常易于浏览提交过的版本并提供一个文件历史库,另外还提供了一个代码片段收集功能,可以轻松的实现代码复用,便于日后需要的时候可以进行查找
【GItlab和GitHub区别】
相同点:两者都是基于web的GIt仓库,在很多大程度上Gitlab是模仿github来做的,都是分享开源项目的平台,为开发团队提供了存储,分享,发布以及合作开发项目的中心化云存储的场所
不同点:GitHub在使用私有仓库需要收费的,而Gitlab可在在上面创建免费的私有仓库,另外Gitlab对于开发团队来说,拥有很多的控制权限;
相对于github,有着更多的特色,如免费甚至仓库权限,允许用户选择分享一个project的部分代码;允许用户设置project的获取权限从而进一步提升安全性;可以有选择性的控制访问权限;
代码性能方面:如果不希望公司员工获取全部的代码,这个时候Gitlab是最好的首选,如果是个人开源项目而言,Github是代码托管的首选
【Git相关的概念】
git:是一个版本控制系统,也是一个命令工具
gitlib:用于实现git功能的开发库
github:一个基于git实现的在线代码托管仓库,包含一个网站界面,开放面广
gitlab:一个基于git实现的在线代码托管仓库,一般用于企业内网搭建git私服
PS:Gitlab-ce社区版本;gitlab-ee是企业版,收费
【部署】
[root@gitlab ~]# yum install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix -y
[root@gitlab ~]# wget --content-disposition https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.7.4-ce.0.el7.x86_64.rpm
[root@gitlab ~]# rpm -ivh gitlab-ce-10.7.4-ce.0.el7.x86_64.rpm
[root@gitlab ~]# gitlab-ctl reconfigure #重新加载配置应用程序,进行初始化
[root@gitlab ~]# gitlab-ctl status #查看gitlab状态
[root@gitlab ~]# sed -i 's#gitlab.example.com#192.168.37.135#g' /etc/gitlab/gitlab.rb
在这里需要注意,我们安装rpm安装完gitlab之后,安装位置在哪呢?我们可以通过rpm -qpl gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm | more查看即可
到此为止gitlab安装成功~
Ps:首次登陆默认需要修改root密码,修改完之后即可使用root登陆
【汉化Gitlab】
[root@gitlab ~]# gitlab-ctl stop
root@gitlab ~]# git clone https://gitlab.com/xhang/gitlab.git
[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 10.7.4
[root@gitlab ~]# cd gitlab
[root@gitlab gitlab]# git diff v10.7.4 v10.7.4-zh > ../v10.8.4-zh.diff #比较原版本号和汉化版本之前的区别,并把有区别的文件导出到解压目录下
[root@gitlab gitlab]# yum install -y patch
[root@gitlab gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails/ -p1 < /root/v10.8.4-zh.diff #该目录下面存放着web前端页面,我们需要将汉化补丁打上
[root@gitlab gitlab]# gitlab-ctl restart #重启服务生效
举个简单的实例
创建文件 代码提交到Gitlab的项目,随后在克隆到网站页面
提交之后