Gitlab/GitHub是两兄弟,但GitHub本着共享技术的精神,私有库是要钱滴,而且代码放别人家里,晚上总是有点睡不踏实,

来个代码泄露或者突然被区别对待,比如GitHub断供来自伊朗、叙利亚的人民,就问你怕不怕,所以企业一般会自建Gitlab

私服,供内部使用,反正我没听过谁家上GitHub管理代码的,今天就来建一个自家的Gitlab,自己在家放心玩。

作者原创文章,谢绝一切转载,违者必究!

本文只发表在"公众号"和"博客园",其他均属复制粘贴!如果觉得排版不清晰,请查看公众号文章。

准备:

VMwareWorkstation 15 Pro/RHEL8.0/Gitlab-ee-13.0.0

难度: 新手--战士--老兵--大师

目标:

  1. 搭建Gitlab私服

1 步骤

首先请设置Linux内存至少为4G,因为2G会非常卡顿!

1.安装HTTP, HTTPS 和SSH,还有防火墙设置,这里使用的是 DNF ,DNF(Dandified Yum)是新一代的 RPM 软件包管理器,未来会取代yum:

sudo dnf install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

2.安装邮件服务,用于发送邮件:

sudo dnf install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

3.下载安装脚本,并使用 bash 命令运行,这里使用到了Linux的|管道命令,即将前面的结果作为后面命令的输入:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

4.安装 gitlab-ee 版本,ee版为enterprise edition,ce版为community edition,这个EXTERNAL_URL参数也可以在安装后修改:

Change https://gitlab.example.com to the URL at which you want to access your GitLab instance. Installation will automatically configure and start GitLab at that URL.

EXTERNAL_URL="https://gitlab.example.com" dnf install -y gitlab-ee

以下为下载过程,文件有点大,1G左右:

安装完成:

如果想先下载不安装,可以使用:

[root@server226 ~]# dnf download gitlab-ee-12.10.6-ee.0.el8.x86_64

或者使用 rpm 方式,先wget 安装包,再rpm安装也可以,举个例子:

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm/download.rpm

rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm

5.配置文件修改,配置文件在 /etc/gitlab/gitlab.rb

修改外部访问地址为Linux的IP:

如果想修改端口号(默认为80):

注意:gitlab自带Nginx,开启或关闭:

[root@server226 ~]# vim /etc/gitlab/gitlab.rb

下图二中看注释说明:Override only if you use a reverse proxy.

[root@server226 ~]# vim /etc/gitlab/gitlab.rb

[root@server226 ~]# vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

修改如下:

重新加载: gitlab-ctl reconfigure

重启服务: gitlab-ctl restart

如果启动后访问,提示502,则需要耐心等待一下再刷新即可。

如果照上图修改了端口,访问地址则为:http://192.168.1.226:9099

特别注意:这里因为nginx做了反向代理,故使用nginx监听端口。

6.使用命令 gitlab-ctl status 检查,如下则说明GitLab运行正常:

7.GitlabUI:访问 http://IP:80

首次登录会要求修改密码,然后 root + 密码 登录:

8.如果想强制初始化密码(或重置密码):命令目录在/opt/gitlab/bin,使用 gitlab-rails console production,如果报错,则使用 gitlab-rails console,如下:

9.优雅关闭服务: gitlab-ctl stop

全文完!


我近期其他文章:

只写原创,敬请关注

DevOps系列——Gitlab私服的更多相关文章

  1. DevOps系列——Jenkins/Gitlab自动打包部署

    前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...

  2. gitlab私服搭建

    1.什么是gitlab: gitlab 是一个用于仓库管理系统的开源项目,它以git为代码管理工具,因此代码可以管到它上边来.搭建私服gitlab可以方便我们有条不紊的管理我们的代码.闲话不说,上代码 ...

  3. DevOps系列(1)-总体架构

    扯闲淡 在进入正式话题之前,先扯个淡,这算是第一篇我正式在博客上发布的随笔吧,之前也一直有想写点什么,将自己多年的工作经验分享出来,供大家参考点评,但是奈何一直对自己的文字功底不自信(其实也确实比较烂 ...

  4. [Gitlab运维系列]Gitlab 403 forbidden 并发引起IP被封

    问题 带着团队使用Git,使用的是自搭建的Gitlab.但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden. 原因 Gitlab使用rack_attack做了并发访问的限制. 解 ...

  5. DevOps之一 Gitlab的安装与配置

    gitlab的安装 参考治疗:https://www.gitlab.com.cn/installation/#centos-7 http://www.21yunwei.com/archives/435 ...

  6. 容器化系列 - GitLab启动和配置 on Docker

    本文简单说明了如何在Docker容器中运行GitLab. 1 准备工作 1.1 下载镜像 $ docker pull docker.io/gitlab/gitlab-ce:latest 1.2 创建持 ...

  7. centos下gitlab私服完整安装部署(nginx+MySQL+redis+gitlab-ce+gitlab-shell+)

    系统环境cat /etc/redhat-release CentOS release 6.8 (Final) nginx -vnginx version: nginx/1.9.15 redis-cli ...

  8. 虚拟机CentOS7安装docker并搭建Gitlab私服

    一.下载安装虚拟机和CentOS7系统 这些流程比较简单不会有什么坑,这里不再阐述 二.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验 ...

  9. GitLab私服在Ubuntu上搭建总结

    1.前期准备: sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates sudo apt-get ...

  10. CODING DevOps 系列第一课:基于开源工具链打造持续交付平台

    当下软件发展趋势 当今 IT 行业发展中比较流行的几个技术,首先是微服务化,将原有的一个系统拆分成多个,意味着有多个系统需要构建.测试.部署和运维. 第二个是敏捷开发模式,需求粒度更细化,要求一个可独 ...

随机推荐

  1. Dynamic CRM最常用的3种查询方式

    在crm系统中 接口或者插件中 通常都会有查询的校验 实际上单查询的话 不用crm提供的方式也可以 直接用sql的方式去查,一般涉及到很多表的联动查询比如报表查询时,还是用sql更方便   一.Que ...

  2. Solution -「LOCAL」Minimal DFA

    \(\mathscr{Description}\)   Private link.   令 \(\Sigma=\{\texttt a,\texttt b\}\),对于所有形式语言 \(L\subset ...

  3. 新版 Cursor 把其他 AI 编程工具按在地上摩擦了!

    大家好,我是汤师爷~ AI编程助手Cursor背后的Anysphere公司刚刚完成了1亿美元的B轮融资,估值直接飙升至26亿美元. 四个月前,这家公司刚拿下6000万美元,估值还只有4亿美元.如今,增 ...

  4. 并发编程之 ConcurrentLinkedQueue 源码

    文章目录1 ConcurrentLinkedQueue的概述2 ConcurrentLinkedQueue的实现2.1 基本结构2.2 构造器2.2.1 ConcurrentLinkedQueue2. ...

  5. C# 单例简单实例

    1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Li ...

  6. C-读写文件和输出输出

    问题 一直对C操作文件(读写)很模糊,不是很清楚,现系统的梳理下,彻底弄明白 说明: 这下面的程序在VS中编写和调试 基本知识 -----打开文件----- fopen() 可以使用fopen()函数 ...

  7. 部署博客(docker)

    参考:链接 准备一台新的服务器 安全组:8080.80.3306等端口放通 安装docker 参考: 链接 获取最新镜像 docker pull b3log/solo 报错,可能是docker未启动, ...

  8. CudaSPONGE与PySAGES初步性能测试

    技术背景 在前面的一篇博客中,我们介绍过CudaSPONGE的基础使用方法.CudaSPONGE调用Python接口函数以及CudaSPONGE结合增强采样软件PySAGES的使用方法.在这篇文章中, ...

  9. BUUCTF刷题-Web方向1~5wp

    [极客大挑战 2019]EasySQL 一个sql注入登录框,直接万能密码登录 拿到flag [极客大挑战 2019]Havefun 打开环境,没有任何信息,查看源码,发现这么一段代码 GET方式传入 ...

  10. 深入剖析实体-关系模型(ER 图):理论与实践全解析

    title: 深入剖析实体-关系模型(ER 图):理论与实践全解析 date: 2025/2/8 updated: 2025/2/8 author: cmdragon excerpt: 实体-关系模型 ...