虽然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. 零基础学习python_模块(50-52课)

    今天学了下模块,那什么是模块呢?其实我们写的以py结尾的一个文件就是一个模块,模块也就是程序 还记得我们之前学过容器.函数.类吧 容器    ->    数据的封装 函数    ->   ...

  2. 聊聊 cursor鼠标样式

    在前端开发中,很多时候需要对页面的某些元素做鼠标样式的处理,比如button一般用pointer , 文本区一般用text......等等. 今天咱就来聊聊 这个经常用到的 cursor 属性 cur ...

  3. python-多线程和线程池

    import threading # 点击查看它的用法 传统多线程方案会使用“即时创建, 即时销毁”的策略. from multiprocessing.dummy import Pool # 线程池 ...

  4. [Writeup]与佛论禅

    [Writeup]与佛论禅 垂死梦中惊坐起,李sin参悟佛真意 看题 沙雕sl宋雷发给我一道题 他用(Quoted-Printable)解出来一个奇怪经文(偷学) 李sin你怎么看?此中必有蹊跷! 前 ...

  5. Kubernetes中pod创建流程

    转自:https://blog.csdn.net/yan234280533/article/details/72567261 Pod是Kubernetes中最基本的部署调度单元,可以包含contain ...

  6. Linux下源码编译安装PostgreSQL数据库

    我使用的Postgres的源码版本为 postgresql-9.3.5.系统为 CentOS6.5 ,是64位. 下载以后直接阅读其中的 README然后阅读其中的INSTALL,按照其中将的步骤做就 ...

  7. MySql Delete不走索引问题

    如果delete语句带有查询,写法不对会导致不走索引. 简单粗暴的办法:拆两条sql,一条查询,一条delete ======================= [不走索引的写法] DELETE FR ...

  8. Project2016下载安装密钥激活教程破解

    project2016发布增加了许多功能.Microsoft Office 2016 官方正式版发布!这是微软发布的全新办公软件套件,相比现有Office 2013的变化也不是很大,界面和功能都只是微 ...

  9. SonarQube与Jenkins结合提高代码质量

    首先,为什么需要SonarQube? 1.WriteClean Code 1)全局健康报告  2)关注新增的问题  3)强制QualityGate 4)Issue详情及建议- 详情参考:https:/ ...

  10. mingw编译ffmpeg 错误:Unknown option "--enable-memalign-hack"

    据说mingw编译ffmpeg的话需要添加 --enable-memalign-hack 开关 但如果源码是最新版比如:ffmpeg4.0.2 的话 好像已经禁用了该开关. “我可以确认新的ffmpe ...