企业级代码托管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的项目,随后在克隆到网站页面

 

提交之后

 

posted @ 2018-06-27 15:18  Mr&Yu  阅读(465)  评论(0编辑  收藏  举报