虽然GitHub已经很好了,但是我们必须联上公网才可以使用并且如果不付费的话,你的代码在网上就是公开的!但是在企业环境中,我们公司的代码不希望被公开并且也不想付费给GitHub,这时怎么办呢?我们可以用GitLab搭建企业自己的Git服务器,而且由于是在局域网内传输速度也是可以保证的

前言:
GitHub作为开源代码库及版本控制系统,拥有超过900万的开发者用户,目前仍然是最火的开源项目托管系统。GitHub同时提供公共仓库和私有仓库,但如果要使用私有仓库,是需要付费的
而GitLab解决了这个问题,你可以在上面创建私人的免费仓库。
Gitlab 是一个很棒的Git托管服务,几乎像GitHub一样强大。gitlab 一般作为内部私有系统使用,若公司使用 git 分布代码,每次从 github 上 pull 则非常慢,使用 gitlab 则方便很多。

优势:
GitLab拥有更多的特性,它可以让开发团队拥有更多的安全性和灵活性的选择。
GitLab拥有GitHub拥有的一切,但他拥有更多——让团队对它们的repositories拥有更多的控制,它的特色:
非常便捷的用户界面,在同一界面上获取到:projects,最近的projects,用户,最近的用户,群组和状态;
允许设置仓库权限是公用的还是私有的;
“Snippet support”让用户分享一个project的部分代码,而不是整个project。
受保护的分支是一种提升代码安全性的新方法,它们允许用户设置project的获取权限,所以一个团队中只有特定的人可以push,force push或者删除一个分支的代码。
Authentication levels更进一步的提升安全性,允许用户给人读写以外的权限。举例来说,你可以给一个组员跟踪变动的权限却不给他获取代码的权限。
开发者通过打上“仍在进行中”状态标签让其他成员知道代码没有完成,从而阻止未完成的代码合并到其他的代码中
“innersourcing”公司的资源如果员工不再权限范围内,将不知道这个资源的存在。

相关概念:
git      是一种版本控制系统,是一个命令,是一种工具。
github  是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。
gitlab   类似 github,一般用于在企业内搭建git私服,要自己搭环境。
gitee    即码云,是 oschina 免费给企业用的,不用自己搭建环境。
git-ce  是社区版,gitlab-ee是企业版,收费版。
----------------------------------------------------------------------------------------------------------------------------------

新实验室要求重新建设GitLab,对于我来讲,是第一次有机会当元老参与实验室的建设。下面分享我自己的实测经验:

1. 安装依赖软件并设置开机启动

yum install curlpolicycoreutils openssh-server openssh-clients

systemctl enable sshd

systemctl start sshd

yum install postfix

systemctl enable postfix

systemctl start postfix

systemctl start firewalld                      #开启防火墙

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --zone=public --add-port=8090/tcp            #防火墙允许端口设置

systemctl reload firewalld                    #重载防火墙

firewall-cmd –list-ports         #列出防火墙允许的所有端口号

如下图所示,可以看到已经允许8090端口的访问,这里根据各自用户的不同,选择一个未被使用的端口号即可。

2.下载gitlab安装包,然后安装

我的是centos7,所以我在GitLab官网中找到gitlab-ee-10.8.0-ee.0.el7.x86_64.rpm,建议下载一个比较新的版本。

下载rpm包并安装:

rpm -ivh gitlab-ee-10.8.0-ee.0.el7.x86_64.rpm

3.修改gitlab配置文件指定服务器ip和自定义端口:

vim /etc/gitlab/gitlab.rb

找到如下行:

将其中external_url ‘http://gitlab.example.com’修改成:

这里的“8090”为端口号,为了和Apache服务器区分,端口号需要显示更改,修改后保存退出。

4.重置并启动GitLab

执行:

gitlab-ctl reconfigure

这一步时间会久一点

5.访问GitLab网页

直接输入服务器ip和指定端口进行访问

输入密码,这一步要注意,这个密码必须包含字母,数字,_或@等比较复杂的密码组合,才能通过,到下一页面:

选择“Register”:

注册后,会自动以这个用户登陆:

tips:

这里有一个bug,configure之后不要运行restart:

gitlab-ctl restart

结果出现如下说明重启成功:

虽然重启成功,但是将无法登陆gitlab界面,这个问题以后再研究。

6.管理员登陆:

使用管理员账号进入GitLab,用户名默认:root,密码为第一次登陆页面输入的密码。

在页面中找到扳手图标点击,进入Admin Area项,选择Users。可以看到所有的用户,也可以通过这里的其他项进行设置其他内容。至此,GitLab安装完毕。

CentOS7 安装 GitLab的更多相关文章

  1. CentOS7安装GitLab、汉化及使用

    同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...

  2. CentOS7安装GitLab、汉化、邮箱配置及使用

    同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...

  3. Centos7 安装gitLab

    我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreutils openssh-server open ...

  4. centos7 安装gitlab任意版本

    主要还是根据官网:https://www.gitlab.cc/installation/#centos-7 1.安装依赖: sudo yum install curl policycoreutils ...

  5. centos7安装gitlab并汉化

    一.基础环境准备 1.安装依赖包 [root@gitlab-server ~]#yum install curl policycoreutils openssh-server openssh-clie ...

  6. CentOs7安装gitlab(转!)

    沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足.                                                                         ...

  7. centos7安装gitlab与gitlab的汉化

    Gitlab概述 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.  GitLab拥有与Github ...

  8. CentOS7安装GitLab、汉化、邮箱配置及使用(转载)

    同步首发: https://www.cnblogs.com/heyonggang/p/7778203.html http://www.yuanrengu.com/index.php/20171112. ...

  9. Centos7安装GitLab

    GitLab CE Download Archives gitlab安装调试小记 Gitlab Free Trial GitLab搭建手记 Gitlab社区版的使用 GUI PNG Gitlab升级到 ...

  10. CentOS7安装GitLab服务

    安装GitLab服务 1.安装必要依赖 yum install -y curl policycoreutils openssh-server openssh-clients postfix 2.下载安 ...

随机推荐

  1. WPF DataGrid 数据绑定、样式、分页、增删改查,连接Access数据库

    先上效果图: XAML: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...

  2. 网易云音乐mp3外链、真实地址下载方法

    一个网易音乐外链地址长期有效,很简单的方法: 第一步打开网易云音乐,随便找到一首歌,播放,复制网址的ID, 例如:杨钰莹的心雨,网址是: http://music.163.com/#/song?id= ...

  3. Suricata在ubuntu14.04环境下安装

    简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...

  4. [Unity插件]Lua行为树(一):BehaviorDesigner源码分析

    BehaviorDesigner是Unity上的一款行为树插件,不过这个插件是用C#编写的,编写出来的行为树也是依赖于C#的,不利于热更,所以有必要写一个lua版本的. 首先下载BehaviorDes ...

  5. javafx自动补全

    public boolean showUpload2HomeDialog(final OperationInfo initDataInfo) { boolean result = false; try ...

  6. java中的排序--排序容器_TreeSet与TreeMap

    1.TreeSet:数据元素可以排序且不可重复. 对比: (1)Set接口:HashSet,元素必须重写hashcode和equals方法. (2)TreeSet:只要可以排序即可.去重:比较等于0即 ...

  7. HTML+CSS盒模型

    一.Padding 1.padding用来调整内容在容器中的位置关系:padding的属性要添加到父元素上. padding值是额外加在元素原有的大小之上的,若想保证元素大小不变,需从元素宽或高上  ...

  8. log4js_Node.js中的日志管理模块使用

    { "appenders": [ // 下面一行应该是用于跟express配合输出web请求url日志的 {"type": "console" ...

  9. Spring-data-jpa 常用的时间注解

    @Entity //不写@Table默认为user @Table(name="t_user",schema="DB_name") //自定义表名 public ...

  10. Node Koa2 完整教程

    请移步 http://cnodejs.org/topic/58ac640e7872ea0864fedf90