虽然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. 自写UiAutomator 调试类

    package sms_test; import java.lang.*; import java.util.ArrayList; import java.util.Collection; impor ...

  2. 在linux环境下mongodb的安装和启动

    安装 下载mongodb的版本,两点注意 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X 32bit的mongodb最大只能存放2G的数据,64bit就没有限制 到官网,选择合适 ...

  3. linux 如何统计某目录下所有文件个数

    该目录以及该目录的子目录下普通文件个数: ls -lR |grep '^-' |wc -l ls -l 查询该目录下的所有文件 R 包含子目录,其实就是递归查看 grep '^-' 表示过滤掉(以&q ...

  4. 一、Jmeter环境介绍

    1.安装 从Apache网站http://jmeter.apache.org/download_jmeter.cgi下载二进制包. .tgz后缀名的为Linux使用的包 .zip后缀的为windows ...

  5. mybatis 3.2.2_环境搭建

    1.创建一个工程 utf-8 2.导入jar mybatis-3.2.2.jar 核心包 依赖包: asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1. ...

  6. leetcode295

    public class MedianFinder { List<int> list = null; ; /** initialize your data structure here. ...

  7. Nginx 设置负载均衡

    1. 在nginx配置文件目录下另外单独创建一个文件用于管理负载均衡配置,这里起名为 fzjh.conf vim /etc/nginx/fzjh.conf #在文件下添加以下内容 upstream m ...

  8. android stuido的代码排版的快捷建CTRL+ALT+L

    CTRL+ALT+L 需要主要留意的地方是QQ的与其冲突的 我将qq的中快捷方式给去除

  9. python 阿狸的进阶之路(6)

    常用模块 json # 序列化 #将内存的数据存到硬盘中,中间的格式,可以被多种语言识别,跨平台交互数据 #json 可以将字典之类的数据类型存到字典中 import json dic = {&quo ...

  10. 修改页面中显示出需要修改的数据(包括select选择框复显示)

    页面中需要用到某个对象时,在底层代码中赋值,然后页面用java代码进行获取调用 如下截图: select复显示:根据后台方法赋值选择框 ,并设置初始值 按钮及选择框的禁用(五种方法): 方法一: $( ...