Centos7.9部署Gitlab-ce-16.9

news2024/9/20 23:25:37

一、环境信息

软件/系统名称版本下载地址备注
Centos77.9.2009https://mirrors.nju.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
gitlab-cegitlab-ce-16.9.1https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.9.1-ce.0.el7.x86_64.rpmRPM包安装方式

二、安装前配置

2.1 挂载GitLab默认存储路径

GitLab 主要目录

  • /var/opt/gitlab/git-data/repositories/:仓库默认存储目录
  • /opt/gitlab: 应用程序代码和相应的依赖程序
  • /var/opt/gitlab:gitlab数据存放路径 gitlab-ctl reconfigure 命令编译后的应用数据和配置文件,不需要人为修改配置
  • /etc/gitlab: 配置文件目录
  • /etc/gitlab/gitlab.rb gitlab配置文件
  • /var/log/gitlab:此目录下存放了 gitlab 各个组件产生的日志
  • /var/opt/gitlab/backups/:备份文件生成的目录
#准备1块1T的硬盘

fdisk /dev/sdb   划分两个分区出来
 sdb1: 100G
 sdb2:900G

格式化:
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2

挂载分区
vim /etc/fstab
/dev/sdb1   /var/opt/gitlab/  ext4  defaults 0 0
/dev/sdb2   /opt/gitlab/  ext4  defaults 0 0


#创建目录
mkdir -p /var/opt/gitlab/ 
mkdir -p /opt/gitlab/ 

二、安装GitLab

# 安装依赖,并启动ssh、防火墙开启相应端口、postfix
[root@gitlab ~]# yum install curl policycoreutils openssh-server openssh-clients postfix  -y
 
# 安装
[root@gitlab ~]# yum install https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.9.1-ce.0.el7.x86_64.rpm -y

image-20240306205400861

三、初始化GitLab

3.1 备份配置文件

[root@gitlab ~]# cd /etc/gitlab
[root@gitlab gitlab]# cp gitlab.rb gitlab.rb-bak

3.2 根据需求,修改默认配置文件

经供参考优化后的配置文件,关闭了一些Prometheus的各种exporter

我这里添加了SMTP的相关配置

[root@code gitlab]# sed -n '/^[^#]/p' gitlab.rb

external_url 'http://code.srebro.cn'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "ttc@srebro.cn"
gitlab_rails['smtp_password'] = "xxxxxxxxxxxxxh"
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'ttc@srebro.cn'
gitlab_rails['gitlab_email_display_name'] = 'ttc技术管理委员会'
gitlab_rails['gitlab_email_reply_to'] = 'ttc@srebro.cn'

prometheus['enable'] = false
prometheus['monitor_kubernetes'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
prometheus_monitoring['enable'] = false

四、启动GitLab

重新配置应用程序

[root@gitlab gitlab]#  gitlab-ctl reconfigure

查看GitLab 状态

[root@code gitlab]# gitlab-ctl status

run: gitaly: (pid 4124) 2303s; run: log: (pid 3490) 2443s
run: gitlab-kas: (pid 3695) 2427s; run: log: (pid 3710) 2425s
run: gitlab-workhorse: (pid 4096) 2304s; run: log: (pid 3841) 2337s
run: logrotate: (pid 3379) 2456s; run: log: (pid 3387) 2455s
run: nginx: (pid 4113) 2304s; run: log: (pid 3908) 2330s
run: postgresql: (pid 3530) 2433s; run: log: (pid 3541) 2432s
run: puma: (pid 5051) 403s; run: log: (pid 3776) 2349s
run: redis: (pid 3409) 2450s; run: log: (pid 3418) 2449s
run: sidekiq: (pid 5030) 409s; run: log: (pid 3811) 2342s

五、访问GitLab

5.1 随机密码访问

使用EXTERNAL_URL 中配置的地址来访问GitLab

初始密码,系统会随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中, 查看随机密码并使用 root 用户名登录

注意:出于安全原因,24 小时后,/etc/gitlab/initial_root_password 会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码。

image-20240306195652130

5.2 修改root默认密码

用户设置,偏好设置,密码

image-20240306195803004

六、其他优化

6.1 修改GitLab默认语言 为中文

用户设置,偏好设置,语言设置

image-20240306200118949

6.2 配置使用HTTPS登录GitLab

待补充…

6.3 使用LDAP登录GitLab

gitlab.rb 配置如下

gitlab_rails['ldap_enabled'] = true
#gitlab_rails['prevent_ldap_sign_in'] = false

###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main:
     label: 'LDAP'
     host: '172.16.10.180'
     port: 389
     uid: 'cn'  #用户在LDAP中的唯一标识字段
     bind_dn: 'cn=admin,dc=srebro,dc=cn'
     password: 'xxxxx'
     encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
     verify_certificates: true  #是否验证证书
     active_directory: false   #是否是Active Directory服务器
     allow_username_or_email_login: true  #是否允许使用用户名或电子邮件登录
     lowercase_usernames: false # #是否将用户名转换为小写
     base: 'ou=people,dc=srebro,dc=cn'  #在LDAP中搜索用户的基础DN
     group_base: 'ou=group,dc=srebro,dc=cn'
     user_filter: '(memberOf=cn=gitlab,ou=group,dc=srebro,dc=cn)'  # 根据条件进行组过滤
EOS

ldap 还需配置add_memberof_module.ldif ,具体参考: https://www.cnblogs.com/panther1942/p/17067317.html

配上ldap 组织架构图: dc=srebro,dc=cn

创建一个groupofNames 得组织,DN 为: cn=gitlab,ou=group,dc=srebro,dc=cn

image-20240306211513911

七、参考

  • https://www.cnblogs.com/mingerlcm/p/12588785.html【GitLab 主要目录】
  • https://www.jianshu.com/p/9a2f414e52b7 【gitlab 磁盘空间不足问题处理】
  • https://www.cnblogs.com/panther1942/p/17067317.html【gitlab+openldap使用memberof筛选登录用户】

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

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

相关文章

4款免费录屏工具,哪款更实用?

作为一个经常需要录制教程和游戏视频的UP主&#xff0c;我尝试过市面上不少录屏工具。今天&#xff0c;我就来分享一下我使用过的四款软件录制全屏时的体验感受&#xff0c;看看哪款软件的表现更胜一筹。 一、福昕录屏大师 网址&#xff1a;https://www.foxitsoftware.cn/REC/…

配置 MinGW 以及使用 g++ 编译 C++ 程序

如何在 Windows 上安装和配置 MinGW 以及使用 g 编译 C 程序 (C语言&#xff08;gcc&#xff09;类似 ) 在Windows环境下&#xff0c;使用C进行编程需要一个编译器&#xff0c;而MinGW (Minimalist GNU for Windows) 是一个常用的C/C编译器工具集。对于编程新手来说&#xff0c…

SAP与赛美特MES系统集成案例

一、项目环境 上海某通信有限公司主要产品应用于图像传感器、 图像信号处理芯片、 低功耗芯片、 射频芯片。 为实现生产流程的自动化调度&#xff0c;减少人为干预的错误&#xff0c;保证流程的一致性和合规性&#xff0c;同时也简化操作流程&#xff0c;降低培训成本。&am…

护眼台灯对眼睛好吗?眼科医生推荐的台灯告诉你答案

作为一名家长&#xff0c;我深刻体会到保护孩子眼部健康的重要性。随着科技的迅猛发展&#xff0c;孩子们越来越多地接触并依赖电子设备&#xff0c;如平板电脑、手机和电视&#xff0c;长时间盯着屏幕已成为他们日常生活的一部分。然而&#xff0c;这些屏幕发出的蓝光及闪烁的…

等保测评前的准备工作:企业必知的五大步骤

信息安全等级保护&#xff08;等保&#xff09;测评是企业信息安全合规的重要环节&#xff0c;对于确保企业信息系统的安全性、稳定性和合规性具有重大意义。为了顺利通过等保测评&#xff0c;企业需要提前做好充分的准备。本文将从实战角度出发&#xff0c;详细介绍等保测评前…

2024年10款好用的图纸加密软件推荐|有效的图纸加密方法分享

在数字化时代&#xff0c;保护CAD图纸等设计文件的安全性是企业不可忽视的重要任务。随着技术的不断进步&#xff0c;各类图纸加密软件应运而生&#xff0c;为企业提供了强大的数据保护能力。本文将为您推荐2024年十款好用的图纸加密软件&#xff0c;并分享一些有效的图纸加密方…

GD32F4开发 -- FATFS文件系统

一、FATFS源码下载 FatFs - Generic FAT Filesystem Module (elm-chan.org) 二、移植 打开ffconf.h文件&#xff0c;找到对应宏并按照需求修改 FF_CODE_PAGE: #define FF_CODE_PAGE 936 //改为936以支持简体中文 /* This option specifies the OEM code page to be used on…

Find My资讯|国外外设品牌发布新型素皮护照套,支持苹果Find My功能

外设品牌 Satechi 发布一款采用苹果Find My技术的新型素皮护照套&#xff0c;售价为 59.99 美元。这款新型护照套除了可以存放护照外&#xff0c;还可存放银行卡、信用卡、身份证、登机牌等物品&#xff0c;其最大特性是采用了与苹果 AirTags 相同的技术&#xff0c;内置了可充…

YOLOv9改进策略【Neck】| 有效且轻量的动态上采样算子:DySample

一、本文介绍 本文记录的是利用DySample上采样对YOLOv9的颈部网络进行改进的方法研究。YOLOv9采用传统的最近邻插值的方法进行上采样可能无法有效地捕捉特征的细节和语义信息&#xff0c;从而影响模型在密集预测任务中的性能。DySample通过动态采样的方式进行上采样&#xff0…

Brave编译指南2024 Windows篇:安装depot_tools(三)

1.引言 在编译Brave浏览器的过程中&#xff0c;depot_tools是不可或缺的一部分。这是一组由Chromium项目提供的脚本和工具&#xff0c;用于获取、管理和更新Chromium及其衍生项目的源码。通过depot_tools&#xff0c;开发者可以方便地同步最新的源码版本&#xff0c;并进行项目…

NVD系列语音芯片在报警器中通常应用在哪些场景中

语音芯片在各类场景中应用的最大作用就是进行语音提示和警报提示。本文将对NVD系列语音芯片应用在报警器中的场景。 1.提升电动车的安全性 当电动车遭受震动或异常移动时&#xff0c;报警器会感应到并触发报警装置&#xff0c;通常是通过发出高分贝的声音警报来吸引人们的注意…

基于HTML+JS+CSS+Echarts实现的设备环境监测可视化平台前端整套模板

效果图 基于HTMLJSCSSEcharts实现的设备环境监测可视化平台前端整套模板。可用过修改源码快速完成需求。 源码结构 下载地址

Shell实用功能及文件权限

1、使用命令“cat /etc/named.conf”设置为别名named&#xff0c;然后再取消别名。 设置别名&#xff1a;alias namedcat /etc/named.conf 取消别名&#xff1a;unalias named 2、使用echo命令和输出重定向创建文本文件/root/nn&#xff0c;内容是hello&#xff0c;然后再使用…

C++笔记---list

1. list的介绍 list其实就是就是我们所熟知的链表&#xff08;双向循环带头结点&#xff09;&#xff0c;但其是作为STL中的一个类模板而存在。 也就是说&#xff0c;list是可以用来存储任意类型数据的顺序表&#xff0c;既可以是内置类型&#xff0c;也可以是自定义类型&…

【目标检测数据集】工具钳子、剪刀、螺丝刀检测数据集3668张3类VOC+YOLO格式

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3668 标注数量(xml文件个数)&#xff1a;3668 标注数量(txt文件个数)&#xff1a;3668 标注…

安卓13系统导航方式分析以及安卓13修改默认方式为手势导航 android13修改导航方式

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.彩蛋1.前言 系统导航方式默认一般是按键的,如果要改成手势的话,我们来看看用户怎么修改的: 设置=>系统=>手势=>系统导航,在这里进行修改。我们来分析下这个流程,并且将其修改为…

Stage模型UIAbility组件【单任务列表/多任务列表】

什么是多线程 比如你在微信中聊天 突然打开一个小程序 然后查看手机进程 如果一个软件有多个那就是多进程 &#xff08;目前小编看下来 只有安卓有 苹果看不出来&#xff09; 进程之间是可以相互跳转的 UIAbility组件可以是单个任务列表或多个任务列表 启动页想用哪个就设置哪个…

《python语言程序设计》2018版第8章第14题金融:信用卡号合法性 利用6.29题

一、之前6.29题我做的代码 这是用数字来进行分辨的 is_txt 4383576018402626 #合法def split_the_data_even(vis_n):current_a1 vis_n // 10000a_t1 vis_n % 10000# print("1th", a_t1)a_t2 current_a1 % 10000# print("2th", a_t2)current_a3 curre…

【自用23.】C++-const数据成员及const成员函数

const数据成员 const数据成员的初始化方式&#xff1a; 使用类内值&#xff08;C11支持&#xff09;使用构造函数的初始化列表 &#xff08;如果同时使用这两种方式&#xff0c;以初始化列表中的值为最终初始化结果&#xff09; 注意&#xff1a; 不能在构造函数或其他成员…

全新的训练算法:Reflection 70B进入大众的视野

在2024年9月6日&#xff0c;大模型的圈子迎来了一位新成员——Reflection 70B&#xff0c;它横扫了MMLU、MATH、IFEval、GSM8K等知名的模型基准测试&#xff0c;完美超越了GPT-4o&#xff0c;同时也超越了Claude3.5 Sonnet成为了新的大模型之王&#xff0c;Reflection 70B到底是…