GitLab → 搭建私有的版本控制的托管服务平台
开心一刻
睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了。”
我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去
媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了。”
我:“对哦,搞习惯了”

环境准备
linux:CentOS 7
GitLab 社区版:gitlab-ce-12.8.7-ce.0.el6.x86_64.rpm,可从 清华大学开源软件镜像站 下载
因为 GitLab 对内存要求比较高,官方推荐至少准备 4G 内存来安装 GitLab,我们就大方一点,准备 5G
环境准备如下

楼主是新搭建的 CentOS 7,环境非常干净,便于 GitLab 的搭建(主要是避免端口冲突,GitLab 包含很多组件,它们都需要端口)
由于我们大天朝的那面墙的神奇作用,按 GitLab 官方的安装教程,我们没法安装它,但办法总比困难多,具体我们往下看
GitLab 搭建
安装和配置依赖项
1、安装依赖项
[root@localhost opt]# yum install -y curl policycoreutils-python openssh-server
2、启用 sshd
[root@localhost opt]# systemctl enable sshd
[root@localhost opt]# systemctl start sshd
3、防火墙放行 http 和 https
[root@localhost opt]# firewall-cmd --permanent --add-service=http
[root@localhost opt]# firewall-cmd --permanent --add-service=https
[root@localhost opt]# systemctl reload firewalld
楼主为了省事,直接关了防火墙(上面的做法是比较正经的!)
[root@localhost opt]# firewall-cmd --state
[root@localhost opt]# systemctl stop firewalld.service
[root@localhost opt]# systemctl disable firewalld.service
4、安装 Postfix
postfix 可用于发电子邮件,是可选依赖
如果用 SMTP 方式来发送,则不需要安装 postfix
[root@localhost opt]# yum install postfix
[root@localhost opt]# systemctl enable postfix
[root@localhost opt]# systemctl start postfix
安装 GitLab
安装非常简单,就一行命令
[root@localhost opt]# rpm -ivh gitlab-ce-12.8.-ce..el6.x86_64.rpm --force
安装应该非常快,分分钟的事,当出现下图,就表示安装完成

配置 GitLab
GitLab 的配置文件路径: /etc/gitlab/gitlab.rb,为了简单起见,我们只配置 external_url 和 smtp 相关配置;因为 postfix 发送的邮件会被 QQ 邮件服务器 、新浪邮件服务器等当成垃圾邮件而拒绝接收,所以我们需要开启 smtp,示例中配置的是 QQ 邮箱服务器,其他的邮件服务器配置可查看:smtp-settings
编辑 gitlab.rb: [root@localhost gitlab]# vi /etc/gitlab/gitlab.rb ,此时我们只修改如下配置项(配置项不是全部挨在一起)
external_url 'http://192.168.0.115'
gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] =
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
user['git_user_email'] = "xxx@qq.com"
修改之后执行: [root@localhost opt]# gitlab-ctl reconfigure ,使得配置生效
首次配置比较慢,因为需要配置、初始化各个组件;当出现下图内容时,表示配置完成

配置完成后会生成各个组件的配置文件和日志文件,配置文件路径: /opt/gitlab/etc/ ,日志文件路径: /var/log/gitlab/
一旦配置好,GitLab 也就启动了,我们访问下: http://192.168.0.115/ ,当出现如下界面,表示我们搭建成功了

初次访问会提示我们重置 root 账户的密码;登录进去后,主界面如下

我们再来试试邮件是否可以正常发送,执行命令: [root@localhost opt]# gitlab-rails console 登录到控制台,然后执行: Notify.test_email('youzhibing2094@sina.com', '邮件主题', '邮件正文').deliver_now 发送测试邮件,能正常收到就证明配置好了

至此,GitLab 基本搭建好了
GitLab 常用命令
启动:gitlab-ctl start
查看状态:gitlab-ctl status
重启:gitlab-ctl restart
重新配置:gitlab-ctl reconfigure # 一般是修改配置后用
查看实时日志:gitlab-ctl tail
总结
1、GitLab 架构图

组件非常多,更多详情请查阅:GitLab实战三——Gitlab架构组件详解
2、只要环境足够干净,内存足够大,搭建起来应该是没什么问题的
参考
GitLab → 搭建私有的版本控制的托管服务平台的更多相关文章
- Ubuntu18.04安装GitLab搭建私有仓库服务器过程笔记
百度了很多资料结果折腾很久还没安装成功,索性就直接上官网找文档参考顺利搭建完成 因为有2台服务器做练习,总结了2种安装方式提供参考:第一种官网安装方式,第二种国内镜像安装方式(建议采用第二种) 第 ...
- composer使用gitlab搭建私有库
{ "repositories": [ { "type": "vcs", // 使用gitlab固定 "url": &q ...
- GitLab → 搭建中常遇的问题与日常维护
开心一刻 隔壁有一个80多岁的老大爷,昨天在小区的一棵树下发现一条黑色的蛇,冻僵了,大爷善心大发,就把蛇揣在了怀里,想给它一点温暖. 今天一大早看到大爷在树上挂了一个牌子,写到:不准随地大小便! 搭建 ...
- 用GitLab搭建自己的私有GitHub
相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...
- gitlab搭建与基本使用【转】
一.git.github.gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务.GitHub是2008年由Ruby on Rails编写而成.GitHub同时提供付费账 ...
- Jenkins+Gitlab搭建持续集成(CI)环境
利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
- 利用阿里云搭建私有Git服务器
服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...
随机推荐
- 第一次提交本地代码到github上
上传本地项目到github: 一.SSH方式 配置ssh 进入你要上传项目中的文件夹 1)先配置ssh,输入 ssh-keygen -t rsa -C "your_email@example ...
- idea运行时默认显示的index.jsp修改方法
在web.xml中加入以下代码,然后重启服务器就可以了. <welcome-file-list> <welcome-file>这儿写你要显示的页面名称</welcome- ...
- 吴裕雄--天生自然 R语言开发学习:分类(续一)
#-----------------------------------------------------------------------------# # R in Action (2nd e ...
- 关于利用glassfish部署Java EE的firstcup-war时报错
在利用maven+glassfish打包部署Java EE的firstcup-war时报错 1.在利用glassfish部署firstcup-war.war文件时提示如下错误信息: 根据上面的错误提示 ...
- js对象或数组深复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- TCP-IP-part7-IP协议相关技术(一)
仅凭IP是无法完成通信的,需要一些IP的辅助技术.这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样.例如DHCP分配IP地址,它只管通知这条信息,具 ...
- 醉酒驾驶VS睡眠不足,哪个更危险
在全球范围内,睡眠不足驾驶每年导致成千上万起交通事故,醉酒驾驶就更不用说了.毫无疑问,两种情况下都不应该驾车,都有危险.睡眠不足和醉酒驾驶相对来说哪个更危险呢? 如果要问哪一个"好" ...
- 安装NSQ
安装文档 https://nsq.io/deployment/installing.html 打开连接后,根据系统找到对应的二进制包 一般都是linux则下载 https://s3.amazonaws ...
- CSS 双飞翼布局
10 Jul 2016 » CSS 双飞翼布局:总共分三栏,左侧栏Left,中间主栏Main,右侧栏Right 第一步,建立三个div,不过注意,中间Main需要加一个wrap div. 整个结构看起 ...
- ndk-stack使用方法(转)
最近在mac上编译android 版本,各种崩溃让人蛋疼,网上学习了下ndk-stack使用方法. 自己备忘下: 1.运行终端. 跳转到你android sdk 目录 因为你的adb 在里面. 如 c ...