开心一刻

  睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了。”

  我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去

  媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了。”

  我:“对哦,搞习惯了”

环境准备

  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 Installation

  Production Architecture

  GitLab实战三——Gitlab架构组件详解

GitLab → 搭建私有的版本控制的托管服务平台的更多相关文章

  1. Ubuntu18.04安装GitLab搭建私有仓库服务器过程笔记

      百度了很多资料结果折腾很久还没安装成功,索性就直接上官网找文档参考顺利搭建完成 因为有2台服务器做练习,总结了2种安装方式提供参考:第一种官网安装方式,第二种国内镜像安装方式(建议采用第二种) 第 ...

  2. composer使用gitlab搭建私有库

    { "repositories": [ { "type": "vcs", // 使用gitlab固定 "url": &q ...

  3. GitLab → 搭建中常遇的问题与日常维护

    开心一刻 隔壁有一个80多岁的老大爷,昨天在小区的一棵树下发现一条黑色的蛇,冻僵了,大爷善心大发,就把蛇揣在了怀里,想给它一点温暖. 今天一大早看到大爷在树上挂了一个牌子,写到:不准随地大小便! 搭建 ...

  4. 用GitLab搭建自己的私有GitHub

    相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...

  5. gitlab搭建与基本使用【转】

    一.git.github.gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务.GitHub是2008年由Ruby on Rails编写而成.GitHub同时提供付费账 ...

  6. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  7. 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

    背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...

  8. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  9. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

随机推荐

  1. 吴裕雄--天生自然KITTEN编程:掉金币

  2. SpringMVC之添加照片并修改照片名字

    @RequestMapping(value="/addIdcardsSubmit",method={RequestMethod.POST,RequestMethod.GET}) p ...

  3. RocketMQ集群平滑下线或重启某个节点

    1.现状描述 集群其中一台物理机未知原因导致单用户无法登陆机器,该物理机需要重启修改密码或者重装系统.该台为master节点,运行正常.配置策略为: 异步刷盘 主从异步复制 如果直接下线该master ...

  4. JavaScript 設計模型 - Iterator

    Iterator Pattern是一個很重要也很簡單的Pattern:迭代器!我們可以提供一個統一入口的迭代器,Client只需要知道有哪些方法,或是有哪些Concrete Iterator,並不需要 ...

  5. C++走向远洋——24(项目一,三角形,复制构造函数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:sanjiaoxing.cpp * 作者:常轩 * 微信公众号: ...

  6. 手把手教你如何用MSF进行后渗透测试!

    在对目标进行渗透测试的时候,通常情况下,我们首先获得的是一台web服务器的webshell或者反弹shell,如果权限比较低,则需要进行权限提升:后续需要对系统进行全面的分析,搞清楚系统的用途:如果目 ...

  7. 7-31 jmu-分段函数l (20 分)

    本题目要求计算以下分段函数的值(x为从键盘输入的一个任意实数): 如果输入非数字,则输出“Input Error!” 输入格式: 在一行中输入一个实数x. 输出格式: 在一行中按”y=result”的 ...

  8. 前端每日实战:113# 视频演示如何用纯 CSS 创作一个赛车 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/mGdXGJ 可交互视频 此视频是可 ...

  9. element ui table render-header自定义表头信息使用

    在使用vue自定义组件内容过程之中,我们绝大多数情况下都是通过预先写好不同的html模板,再通过props传入不同的值来渲染不同的模板.例如我们需要实现一个<v-title size='1'&g ...

  10. 零基础JavaScript编码(二)

    任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...