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版本过低 ...
随机推荐
- js 四舍五入实现
js Number.prototype.toFixed 进行的舍入的算法没研究明白,应该不是四舍六入五成双,当然也不是四舍五入 下面是chrome与excel的对比 修改完之后的结果 对于“问题数据” ...
- 数据库事务(Transaction)
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 事务四大特性(ACID): 原子性(Atomicity):个事务是一个不可分割的工作单位,事务中包括的 ...
- Binder机制简析(三)
注册Service Service组件运行在Server进程中,首先要将Service注册到Service Manager中,再启动一个Binder线程池来等待和处理Client的通信请求. 注册过程 ...
- Proto3:C++基本使用
本教程提供protocol buffer在C++程序中的基础用法.通过创建一个简单的示例程序,向你展示如何: 在.proto中定义消息格式 使用protocol buffer编译器 使用C++ pro ...
- 4K手机能拯救索尼手机吗?
智能手机屏幕分辨率究竟达到多少才是极限,一直是业内争论不休的问题.从低分辨率一路走来,直到iPhone 4搭载视网膜屏,业内才有了一个较为统一的认知:屏幕起码要在合适距离下看不到文字.图像虚影,才称得 ...
- C++走向远洋——64(项目三、数组类模板)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- C++走向远洋——46(教师兼干部类、多重继承、派生)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- ubuntu 18.04门等字不正常
sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf 该文件配置了 Noto Sans CJK 的优先级.i进入编辑后,可以看到,JP ...
- 那是我夕阳下的奔跑,电商网站PC端详情页图片放大效果实现
在详情页浏览时商品大图还是不能完全看清楚商品的细节,该特效实现鼠标悬停在商品大图上时,在商品大图右侧出现放大镜效果并根据鼠标的位置来改变右侧大图的显示内容,放大镜中的内容和鼠标悬停位置的内容相同.该特 ...
- 使用HBuilder开发移动APP
前言 HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java.C.Web和Ruby.HBuilder本身主体是由Java编写,它基于 ...