Gitlab安装部署

news2024/12/26 10:56:41

Gitlab安装部署

一、下载对应的安装包

查看Linux系统的版本信息

cat /proc/version

查看Linux系统发行版信息

cat /etc/redhat-release

然后下载匹配版本的 gitlab,因为 gitlab 官网下载比较缓慢,所以这里附带了清华的镜像

Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

安装包大概长这样,el7表示是 Centos 7

gitlab-ce-16.11.1-ce.0.el7.x86_64.rpm

注意

1、从 GitLab 12.1 版本开始,PostgreSQL 成为了唯一官方支持的数据库管理系统 (DBMS)。之前的版本支持 MySQL,但从 12.1 版本开始,GitLab 官方推荐并仅支持使用 PostgreSQL 作为其后端数据库。

2、gitlab Omnibus EE才支持mysql数据库,如果想将mysql数据库作为知识库是需要注意这一点的。尝试用 gitlab-ce-9 做相关配置,总会报错找不到 /opt/gitlab/embedded/lib/ruby/include/ruby.h(如果有大神安装成功了,欢迎交流)

二、查看依赖

 rpm -qa | grep -i openssh-server
 rpm -qa | grep -i policycoreutils-python
 rpm -qa | grep -i ruby-devel
 rpm -qa | grep -i gcc

这里因为每个服务器已有的安装包并不一样所以仅列举了笔者额外安装的包

因为我的机器不能连接内网所以还离线安装了ruby

(最好yum安装)

1、ruby离线安装

下载安装包(高版本向下兼容,所以建议下新版本的)

https://www.ruby-lang.org/en/downloads/

解压

tar -zxvf ruby-2.7.1.tar.gz

进入安装目录:

cd ruby-2.7.1

执行配置:

./configure

安装(需要点时间):

make && make install

安装成功后,查看版本

ruby -v

三、安装配置

1、安装

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

查看即将要设置的gitlab端口是否被占用(这里想要设置为 10005)

netstat -tuln | grep 10005
或者
ss -tuln | grep 10005

ss 通常比 netstat 更快,因为它使用内核信息而不是读取 /proc 文件系统。

mysql安装请参考

MYSQL8.0安装_mysql-8.0.29-linux-glibc2.12-x86_64 安装-CSDN博客

2、修改配置文件

vim /etc/gitlab/gitlab.rb

修改访问链接

external_url ='http://192.168.237.180:10005'
2.1、修改知识库配置(如果想用mysql作为知识库)
参数参数值说明
gitlab_rails[‘db_adapter’]mysql2使用 MySQL 数据库
gitlab_rails[‘db_encoding’]utf8mb4UTF-8MB4是对UTF-8的扩展,它支持更广泛的字符集范围,包括emoji表情、部分罕用汉字、新增的Unicode字符等
gitlab_rails[‘db_collation’]utf8mb4_unicode_ci用来指定数据库中用于字符串比较和排序的规则(collation)的
gitlab_rails[‘db_database’]gitlab_dbMySQL 数据库名称
gitlab_rails[‘db_host’]192.168.1.1数据库服务器ip
gitlab_rails[‘db_port’]3306MySQL 数据库的端口号
gitlab_rails[‘db_username’]rootMySQL 数据库的用户名
gitlab_rails[‘db_password’]123456MySQL 数据库的密码

在配置 GitLab 以使用 MySQL 数据库时,utf8mb4_unicode_ci 是一个常用的 collation 设置。这个 collation 支持 Unicode 字符集,并且是大小写不敏感的(ci 代表 case-insensitive),这意味着在比较字符串时不会区分大小写。

配置案例

gitlab_rails['db_adapter'] = 'mysql2'
gitlab_rails['db_encoding'] = 'utf8mb4'
gitlab_rails['db_collation'] = 'utf8mb4_unicode_ci'
gitlab_rails['db_database'] = 'gitlab_kf'
gitlab_rails['db_username'] = 'scairengine'
gitlab_rails['db_password'] = 'Sczqair'
gitlab_rails['db_host'] = '172.21.237.11'
gitlab_rails['db_port'] = '3306'

postgresql['enable'] = false

查看配置是否ok

gitlab-rake gitlab:check

创建数据库表

gitlab-rake gitlab:setup
2.2、文件路径配置(如果想用文件存储)
参数参数值说明
default/opt/git-data数据主存储路径
alternative/opt/git-data_bak数据存储备份路径
git_data_dirs({
   "default" => {
     "path" => "/opt/git-data"
    },
   "alternative" => {
     "path" => "/opt/git-data_bak"
    }
 })

3、重新加载配置文件

gitlab-ctl reconfigure

加载完毕后会看到
在这里插入图片描述
/etc/gitlab/initial_root_password 是初始化密码的临时存放地,并且在第一次重新加载配置 gitlab-ctl reconfigure 24小时后会被清理。这个密码要保存好,是root用户名的密码,root用户是最高权限用户,gitLab后续的用户创建必须要先用root用户创建,当然可先用root用户创建一个和root同样权限的管理员账户,后续使用这个新建的管理员账户去添加人员和创建项目

查看初始密码

vim  /etc/gitlab/initial_root_password

初始密码:f6jc04NCWnpGxM5h+DIeg6TEgqUqrzjYxR6ze5NHQkg=

4、设置gitLab开机自动启动

sudo systemctl enable gitlab-runsvdir.service

5、访问

http://172.21.237.180:10005

设置不允许自由注册(gitLab一般是私有仓库,不允许随便注册,用户只能靠高级用户新建)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、gitlab常用命令

1、启动 gitlab

gitlab-ctl start

2、停止 gitlab

gitlab-ctl stop

3、重启 gitlab

gitlab-ctl restart

4、查看服务状态

gitlab-ctl status

5、加载配置

gitlab-ctl reconfigure

6、验证配置文件

gitlab-ctl show-config

7、查看日志

gitlab-ctl tail

五、gitlab卸载

1、停止服务

gitlab-ctl stop

2、卸载

rpm -e gitlab-ce

3、杀掉多余进程

ps aux | grep gitlab

4、清理文件

find / -name gitlab | xargs rm -rf

文件

gitlab-ctl show-config

7、查看日志

gitlab-ctl tail

五、gitlab卸载

1、停止服务

gitlab-ctl stop

2、卸载

rpm -e gitlab-ce

3、杀掉多余进程

ps aux | grep gitlab

4、清理文件

find / -name gitlab | xargs rm -rf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1636583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django后台项目开发实战一

开发环境使用 Anaconda, IDE 使用 pycharm 第一阶段 创建 Django 项目 在 Anaconda Prompt 中逐步输入下面的命令(之后的所有命令都在这个) 首先创建一个虚拟环境,名称自拟,python 版本我这里使用 3.9.18 关于 python 版本和…

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容(如果后续在实践中发现前五章不够,会补上剩余内容) 引入 什么是图? 如上图所示的路线图和电路图都可以使用…

Spring Security介绍(二) 主要组件(1) SecurityConfigurer

一、介绍 1、介绍 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的内容中曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是通过 xxxConfigurer 来进行配置的,而这些 xxxConfigurer 实际上都是 Secu…

TCP通信 ,客户端服务端流程

TCP通信 TCP:传输层协议 特点:面向连接的安全的流式传输协议 面向链接 : 连接:三次握手,建立双向链接 断开:四次挥手,双向断开 安全的:通信过程会对通信进行校验,判…

Linux详解:进程创建

文章目录 进程创建fork函数写时拷贝页表fork常规用法fork调用失败的原因 进程创建 fork函数 在linux 中fork函数&#xff0c;它从已经存在的进程中创建一个新的进程&#xff0c;新进程为子进程&#xff0c;而原进程为父进程。 #include<unistd.h> pid_t fork(void);返…

『FPGA通信接口』DDR(3)DDR3颗粒读写测试

文章目录 前言1.配套工程简介2.测试内容与策略3. 测试程序分析4.程序结果分析5.一个IP控制两颗DDR36.传送门 前言 以四颗MT41K512M16HA-125AIT颗粒为例&#xff0c;介绍如何在一块新制板卡上做关于DDR3的器件测试。前面两篇介绍了什么是DDR&#xff0c;并介绍了xilinx给出的FPG…

[Java、Android面试]_24_Compose为什么绘制要比XML快?(高频问答)

欢迎查看合集&#xff1a; Java、Android面试高频系列文章合集 本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&am…

神经网络反向传播算法

今天我们来看一下神经网络中的反向传播算法&#xff0c;之前介绍了梯度下降与正向传播~ 神经网络的反向传播 专栏&#xff1a;&#x1f48e;实战PyTorch&#x1f48e; 反向传播算法&#xff08;Back Propagation&#xff0c;简称BP&#xff09;是一种用于训练神经网络的算…

一键PDF水印添加工具

一键PDF水印添加工具 引言优点1. 精准定位与灵活布局2. 自由旋转与透明度调控3. 精细化页码选择4. 全方位自定义水印内容5. 无缝整合工作流程 功能详解结语工具示意图【工具链接】 引言 PDF作为最常用的文档格式之一&#xff0c;其安全性和版权保护显得尤为重要。今天&#xff…

qcheckbox互斥 也就是单选 纯代码实现 没有ui界面转到槽

1.init&#xff08;&#xff09;函数把所有的qcheckbox找到&#xff0c;然后通过信号与槽&#xff0c;做到点击哪个qcheckbox&#xff0c;哪个qcheckbox就发出信号 2.checkchange&#xff08;&#xff09;槽函数&#xff0c;通过42行拿到是哪个qcheckbox发出的信号&#xff0c…

怎么用微信小程序实现远程控制台球室

怎么用微信小程序实现远程控制台球室呢&#xff1f; 本文描述了使用微信小程序调用HTTP接口&#xff0c;实现控制台球室&#xff0c;控制球台上方的照明灯&#xff0c;单台设备可控制多张球台的照明灯。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 …

PVDF-SiO₂复合纳米纤维膜

PVDF-SiO₂复合纳米纤维膜是一种结合了聚偏氟乙烯&#xff08;PVDF&#xff09;和二氧化硅&#xff08;SiO₂&#xff09;纳米粒子的新型复合材料。这种材料通常通过静电纺丝技术或其他纤维制备技术制备而成&#xff0c;具有许多良好的性能和广泛的应用前景。 PVDF是一种热塑性…

中兴UME网管LTE共享参数配置-PLMN添加

本文为中兴设备UME网管电联中频共享参数配置&#xff0c;PLMN添加参数配置部分&#xff0c;因UME与U&#xff13;&#xff11;网管添加PLMN配置区别较大&#xff0c;UME网管需同时配置运营商EN&#xff0d;DC策略&#xff0c;相关配置流程及参数配置如下文。 PLMN eNodeB CU …

《Python编程从入门到实践》day19

#昨日知识点回顾 使用unittest模块测试单元和类 #今日知识点学习 第12章 武装飞船 12.1 规划项目 游戏《外星人入侵》 12.2 安装pygame 终端管理器执行 pip install pygame 12.3 开始游戏项目 12.3.1 创建Pygame窗口及响应用户输入 import sysimport pygameclass…

一个类实现Mybatis的SQL热更新

引言 平时用SpringBootMybatis开发项目&#xff0c;如果项目比较大启动时间很长的话&#xff0c;每次修改Mybatis在Xml中的SQL就需要重启一次。假设项目重启一次需要5分钟&#xff0c;那修改10次SQL就过去了一个小时&#xff0c;成本有点太高了。关键是每次修改完代码之后再重…

【webrtc】MessageHandler 2: 基于线程的消息处理:以PeerConnectionClient为例

PeerConnectionClient 前一篇 nullaudiopoller 并么有场景线程,而是就是在当前线程直接执行的, PeerConnectionClient 作为一个独立的客户端,默认的是主线程。 PeerConnectionClient 同时维护客户端的信令状态,并且通过OnMessage实现MessageHandler 消息处理。 目前只处理一…

CCF-CSP真题题解:201403-1 相反数

201403-1 相反数 #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int MAXN 510;int n, a[MAXN]; int cnt[MAXN];int main() {scanf("%d", &n);for (int i 0; i < n; i) { scanf("%d"…

【分治算法】【Python实现】最接近点对

文章目录 [toc]问题描述一维最接近点对算法Python实现 二维最接近点对算法分治算法时间复杂性Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;分治算法 学习指南&#xff1a;Python学习指南 问题描述 给定平面上 n n n个点&#xff0c;找其中的一对点&#xff…

Python 深度学习(二)

原文&#xff1a;zh.annas-archive.org/md5/98cfb0b9095f1cf64732abfaa40d7b3a 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第五章&#xff1a;图像识别 视觉可以说是人类最重要的感官之一。我们依赖视觉来识别食物&#xff0c;逃离危险&#xff0c;认出朋友和家人…

【C++题解】1044. 找出最经济型的包装箱型号

问题&#xff1a;1044. 找出最经济型的包装箱型号 类型&#xff1a;多分支结构 题目描述&#xff1a; 已知有 A&#xff0c;B&#xff0c;C&#xff0c;D&#xff0c;E 五种包装箱&#xff0c;为了不浪费材料&#xff0c;小于 10 公斤的用 A 型&#xff0c;大于等于 10 公斤小…