DevOps系列——Gitlab私服
Gitlab/GitHub是两兄弟,但GitHub本着共享技术的精神,私有库是要钱滴,而且代码放别人家里,晚上总是有点睡不踏实,
来个代码泄露或者突然被区别对待,比如GitHub断供来自伊朗、叙利亚的人民,就问你怕不怕,所以企业一般会自建Gitlab
私服,供内部使用,反正我没听过谁家上GitHub管理代码的,今天就来建一个自家的Gitlab,自己在家放心玩。
作者原创文章,谢绝一切转载,违者必究!
本文只发表在"公众号"和"博客园",其他均属复制粘贴!如果觉得排版不清晰,请查看公众号文章。
准备:
VMwareWorkstation 15 Pro/RHEL8.0/Gitlab-ee-13.0.0
难度: 新手--战士--老兵--大师
目标:
- 搭建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
全文完!
我近期其他文章:
- 1 聊聊算法——回溯算法
- 2 Redis高级应用
- 3 聊聊算法——BFS和DFS
- 4 微服务通信方式——gRPC
- 5 分布式任务调度系统
只写原创,敬请关注
DevOps系列——Gitlab私服的更多相关文章
- DevOps系列——Jenkins/Gitlab自动打包部署
前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...
- gitlab私服搭建
1.什么是gitlab: gitlab 是一个用于仓库管理系统的开源项目,它以git为代码管理工具,因此代码可以管到它上边来.搭建私服gitlab可以方便我们有条不紊的管理我们的代码.闲话不说,上代码 ...
- DevOps系列(1)-总体架构
扯闲淡 在进入正式话题之前,先扯个淡,这算是第一篇我正式在博客上发布的随笔吧,之前也一直有想写点什么,将自己多年的工作经验分享出来,供大家参考点评,但是奈何一直对自己的文字功底不自信(其实也确实比较烂 ...
- [Gitlab运维系列]Gitlab 403 forbidden 并发引起IP被封
问题 带着团队使用Git,使用的是自搭建的Gitlab.但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden. 原因 Gitlab使用rack_attack做了并发访问的限制. 解 ...
- DevOps之一 Gitlab的安装与配置
gitlab的安装 参考治疗:https://www.gitlab.com.cn/installation/#centos-7 http://www.21yunwei.com/archives/435 ...
- 容器化系列 - GitLab启动和配置 on Docker
本文简单说明了如何在Docker容器中运行GitLab. 1 准备工作 1.1 下载镜像 $ docker pull docker.io/gitlab/gitlab-ce:latest 1.2 创建持 ...
- 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 ...
- 虚拟机CentOS7安装docker并搭建Gitlab私服
一.下载安装虚拟机和CentOS7系统 这些流程比较简单不会有什么坑,这里不再阐述 二.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验 ...
- GitLab私服在Ubuntu上搭建总结
1.前期准备: sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates sudo apt-get ...
- CODING DevOps 系列第一课:基于开源工具链打造持续交付平台
当下软件发展趋势 当今 IT 行业发展中比较流行的几个技术,首先是微服务化,将原有的一个系统拆分成多个,意味着有多个系统需要构建.测试.部署和运维. 第二个是敏捷开发模式,需求粒度更细化,要求一个可独 ...
随机推荐
- Dynamic CRM最常用的3种查询方式
在crm系统中 接口或者插件中 通常都会有查询的校验 实际上单查询的话 不用crm提供的方式也可以 直接用sql的方式去查,一般涉及到很多表的联动查询比如报表查询时,还是用sql更方便 一.Que ...
- Solution -「LOCAL」Minimal DFA
\(\mathscr{Description}\) Private link. 令 \(\Sigma=\{\texttt a,\texttt b\}\),对于所有形式语言 \(L\subset ...
- 新版 Cursor 把其他 AI 编程工具按在地上摩擦了!
大家好,我是汤师爷~ AI编程助手Cursor背后的Anysphere公司刚刚完成了1亿美元的B轮融资,估值直接飙升至26亿美元. 四个月前,这家公司刚拿下6000万美元,估值还只有4亿美元.如今,增 ...
- 并发编程之 ConcurrentLinkedQueue 源码
文章目录1 ConcurrentLinkedQueue的概述2 ConcurrentLinkedQueue的实现2.1 基本结构2.2 构造器2.2.1 ConcurrentLinkedQueue2. ...
- C# 单例简单实例
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Li ...
- C-读写文件和输出输出
问题 一直对C操作文件(读写)很模糊,不是很清楚,现系统的梳理下,彻底弄明白 说明: 这下面的程序在VS中编写和调试 基本知识 -----打开文件----- fopen() 可以使用fopen()函数 ...
- 部署博客(docker)
参考:链接 准备一台新的服务器 安全组:8080.80.3306等端口放通 安装docker 参考: 链接 获取最新镜像 docker pull b3log/solo 报错,可能是docker未启动, ...
- CudaSPONGE与PySAGES初步性能测试
技术背景 在前面的一篇博客中,我们介绍过CudaSPONGE的基础使用方法.CudaSPONGE调用Python接口函数以及CudaSPONGE结合增强采样软件PySAGES的使用方法.在这篇文章中, ...
- BUUCTF刷题-Web方向1~5wp
[极客大挑战 2019]EasySQL 一个sql注入登录框,直接万能密码登录 拿到flag [极客大挑战 2019]Havefun 打开环境,没有任何信息,查看源码,发现这么一段代码 GET方式传入 ...
- 深入剖析实体-关系模型(ER 图):理论与实践全解析
title: 深入剖析实体-关系模型(ER 图):理论与实践全解析 date: 2025/2/8 updated: 2025/2/8 author: cmdragon excerpt: 实体-关系模型 ...