CentOS7 安装 GitLab
虽然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的更多相关文章
- CentOS7安装GitLab、汉化及使用
同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...
- CentOS7安装GitLab、汉化、邮箱配置及使用
同步首发:http://www.yuanrengu.com/index.php/20171112.html 一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统 ...
- Centos7 安装gitLab
我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreutils openssh-server open ...
- centos7 安装gitlab任意版本
主要还是根据官网:https://www.gitlab.cc/installation/#centos-7 1.安装依赖: sudo yum install curl policycoreutils ...
- centos7安装gitlab并汉化
一.基础环境准备 1.安装依赖包 [root@gitlab-server ~]#yum install curl policycoreutils openssh-server openssh-clie ...
- CentOs7安装gitlab(转!)
沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足. ...
- centos7安装gitlab与gitlab的汉化
Gitlab概述 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github ...
- CentOS7安装GitLab、汉化、邮箱配置及使用(转载)
同步首发: https://www.cnblogs.com/heyonggang/p/7778203.html http://www.yuanrengu.com/index.php/20171112. ...
- Centos7安装GitLab
GitLab CE Download Archives gitlab安装调试小记 Gitlab Free Trial GitLab搭建手记 Gitlab社区版的使用 GUI PNG Gitlab升级到 ...
- CentOS7安装GitLab服务
安装GitLab服务 1.安装必要依赖 yum install -y curl policycoreutils openssh-server openssh-clients postfix 2.下载安 ...
随机推荐
- 大小端,memcpy和构造函数
问题:memcpy一段内存到std::bitset里,bitset里的内存数据和被拷贝的内存数据对应不上 代码如下: #include <iostream> #include <bi ...
- CMD命令行合并多个txt文件到一个txt文件
运行->输入CMD回车 输入: Copy G:\MyFolder\*.txt G:\NewFolder\a.txt 回车即可 意思是将G:\MyFolder\下的所有txt文本内容复制到G:\ ...
- urllib2.Request 添加浏览器简单反爬 结合BeautifulSoup解析标签
- js分钟数转天-时-分
//js格式化分钟转为天.时.分 function formatMinutes(minutes) { )); ? Math.floor((minutes - day * ) / ) : Math.fl ...
- Python基础7 面向对象编程进阶
本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...
- javascript select标签的操作
用原生的方法对select标签的增删操作 1.选中某一个option,一般采用 option[i].selected = true 2.添加option首先需要创建一个option的节点,然后插入到 ...
- eclipse gradle插件 org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-3.4-bin.zip'.
eclipse安装gradle后出现如下异常: org.gradle.tooling.GradleConnectionException: Could not install Gradle distr ...
- virtual 初探
两种代码方式: class person { public: void f() { cout << "person.f()" << endl; } }; c ...
- Leetcode 题解 Longest Substring Without Repeating Characters_需要重做
最长的没有重复的字符串. 这个题其实不难.但是我第二次做了,硬是把它做出了难的感觉... 变量命名要合理.可读性强.
- OC代码编译成c++代码 编译器命令
xcrun -sdk iphoneos clang -arch x86_64 -rewrite-objc Person+Test.m clang -rewrite-objc -fobjc-arc -s ...