虽然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. [Unity插件]Lua行为树(三):组合节点Sequence

    Sequence的继承关系如下: Sequence->Composite->ParentTask->Task 上一篇已经实现了简单版本的ParentTask和Task(基于Behav ...

  2. ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM

    (写在前面: 这里参考rbx书中第八章和ROS社区教程进行学习,先看社区教程) ===  Doing the Turtlebot Navigation   === ref ros wiki: http ...

  3. SAP work process Memory allocate

    Memory allocation sequence to dialog work processes in SAP What is the memory allocation sequence to ...

  4. openStack queens 功能验证调试

    linux已经加载 的内核模块查看

  5. java.sql.SQLException: com.mysql.jdbc.Driver

    项目本来是 oracle 驱动 + druid 数据源配置,现在要修改为 mysql+druid数据源配置 启动项目的时候报:java.sql.SQLException: com.mysql.jdbc ...

  6. 学习笔记:vue(代码篇)

    http://cn.vuejs.org/ VUE官网 http://cn.vuejs.org/v2/guide/  教程 VUE模板文件: <html lang="zh-cn" ...

  7. 14.linux下复制粘贴

    1. 在终端下: 复制命令:Ctrl + Shift + C  组合键. 粘贴命令:Ctrl + Shift + V  组合键. 2. 在控制台下: 复制命令:Ctrl + Insert  组合键 或 ...

  8. JS 相等判断 / 类型判断

    相等判断 JavaScript提供三种不同的值比较操作: 严格相等 ("triple equals" 或 "identity"),使用 === , 宽松相等 ( ...

  9. Spring Cloud (5)hystrix 服务熔断

    1.pom文件 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...

  10. delphi query阻塞执行 长时间执行sql的解决办法

    delphi query 执行sql一直是阻塞执行,执行长时间的sql语句,程序没响应了,这时候只能用线程技术解决. 如今FDQuery有了CmdExecMode属性,可以设置amCancelDial ...