Centos7.9部署Gitlab-ce-16.9

一、环境信息

软件/系统名称版本下载地址备注
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: 100Gsdb2: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.rbexternal_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 statusrun: 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: 389uid: '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中搜索用户的基础DNgroup_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.xdnf.cn/news/1527593.html

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

相关文章

磁电偶极子天线学习1 一种60GHz 宽带圆极化口径耦合磁电偶极子天线阵列

摘要&#xff1a; 一种新型的圆极化口径耦合天线被提出。这种圆极化磁电偶极子天线由刻蚀在短路基片集成波导的一部分的宽臂上&#xff0c;并且很容易被集成基片。在工作频段内实现了宽于28.8%的阻抗带宽和宽带3-dB的25.9%的轴比和的增益。此外&#xff0c;因为圆极化辐射由两个…

win11如何录屏

在 Win11 中录屏可以使用系统自带的工具和一些第三方应用。以下是几种方法&#xff1a; 方法一&#xff1a;使用 Xbox Game Bar 1. 打开 Xbox Game Bar - 按 Win G 组合键打开 Xbox Game Bar。 2. 开始录制 - 在显示的界面中&#xff0c;点击“录制”按钮&#xff08;…

C++入门(06)安装QT并快速测试体验一个简单的C++GUI项目

文章目录 1. 清华镜像源下载2. 安装3. 开始菜单上的 QT 工具4. 打开 Qt Creator5. 简单的 GUI C 项目5.1 打开 Qt Creator 并创建新项目5.2 设计界面5.3 添加按钮的点击事件5.4 编译并运行项目 6. 信号和槽&#xff08;Signals and Slots&#xff09; 这里用到了C类与对象的很多…

知名AIGC人工智能专家培训讲师唐兴通谈AI大模型数字化转型数字新媒体营销与数字化销售

在过去的二十年里&#xff0c;中国企业在数字营销领域经历了一场惊心动魄的变革。从最初的懵懂无知到如今的游刃有余&#xff0c;这一路走来&#xff0c;既有模仿学习的艰辛&#xff0c;也有创新突破的喜悦。然而&#xff0c;站在人工智能时代的门槛上&#xff0c;我们不禁要问…

认知杂谈53

今天分享 有人说的一段争议性的话 I I 1.自助者天助 首先呢&#xff0c;咱得好好琢磨琢磨“自助者天助”这句话。这话说起来好像有点高深莫测的感觉&#xff0c;其实啊&#xff0c;道理特别简单。 就是说要是你自己都不乐意努力&#xff0c;那老天爷也不会平白无故地来帮你…

【Map】、集合总结

Map(*)——映射 比较之前的集合 List 为什么使用map <k,v>&#xff1a;key–value Api–>尽量用k去操作value put<k,v> package com.ffyc.map;import java.util.HashMap; import java.util.Map;/*** 映射*/ public class MapDemo {public static void main(St…

1 模拟——67. 二进制求和

1 模拟 67. 二进制求和 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a "11", b "1" 输出&#xff1a;"100" 示例 2&#xff1a; 输入&#xff1a;a "1010", b "…

6.3图的遍历

图的遍历是指从某点出发,按照某种搜索方式沿着边访问图中所有节点 图的遍历算法主要有两种:广度优先,深度优先 都需要辅助数组visited[]来记录节点是否被访问过 6.3.1广度优先搜索 like层次遍历,需要辅助队列 代码实现 #include<stdio.h> #define maxnum 15 bool vi…

PMP–一、二、三模–分类–14.敏捷–技巧–看板面板与燃尽图燃起图

文章目录 技巧一模14.敏捷--方法--看板&#xff08;类似卡片&#xff09;1、 [单选] 根据项目的特点&#xff0c;项目经理建议选择一种敏捷方法&#xff0c;该方法限制团队成员在任何给定时间执行的任务数。此方法还允许团队提高工作过程中问题和瓶颈的可见性。项目经理建议采用…

【国赛急救包】数模国赛查重规则及降重技巧

国赛已经快接近尾声了&#xff0c;各位宝宝论文写得怎么样啦~ 今天为大家分享关于国赛查重的一些规则&#xff0c;以及降重技巧&#xff01;快收藏起来吧~ 1. 国赛查重要求及如何查重 • 数学建模国赛的查重除了知网数据库以外&#xff0c;更重要的是自建库的查重比对&#x…

vLLM (4) - LLMEngine上篇

系列文章目录 vLLM (1) - Qwen2推理&部署 vLLM (2) - 架构总览 vLLM (3) - Sequence & SequenceGroup vLLM (4) - LLMEngine上篇 vLLM (5) - LLMEngine下篇 文章目录 系列文章目录前言一、类图二、LLM三、LLMEngine四、GPUExectuor五、Worker六、ModelRunner七、Cache…

windows下使用vscode编写运行以及调试C/C++

vscode支持类似于vs的断点调试c/c&#xff0c;也可以直接编译&运行c/c 先是编译运行 c/c的方法 微软官方起初设定的科学做法(这也是现在的科学做法)是通过在vscode集成控制台写命令行的方式来实现编译运行程序的,但也可以通过code runner插件…

软件工程-图书管理系统的概要设计

软件概要设计说明书 目录 软件概要设计说明书 一、引言 1.1 编写目的 1.2 背景 1.3 定义 1.3.1特定对象 1.3.2专业术语 1.4 参考资料 二、总体设计 2.1 需求规定 2.1.1信息要求 2.1.2功能要求 2.2 运行环境 2.3 基本概要设计和处理流程 2.4 体系结构设计 2.5 模…

网络安全运维培训一般多少钱

在当今数字化时代&#xff0c;网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节&#xff0c;其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣&#xff0c;那么&#xff0c;网络安全运维培训一般多少钱呢? 一、影响网络安全运维培…

C++ | 单例设计模式(懒汉式单例模式源码|饿汉式单例模式)

点击上方"蓝字"关注我们 01、概念 >>> 单例设计模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。单例模式通常用于需要在整个应用程序中共享一个对象…

让中学生也能一下子认识5000年都无人能识的无穷大自然数

黄小宁 5000多年来数学一直未能证明存在>N一切数的标准无穷大自然数及其倒数&#xff0c;从而一直否定存在这类数&#xff0c;正如西医否定人体存在经络系统那样。 x轴各元点的坐标x变为的有序数对 ( x , y2 x)是平面点p的坐标&#xff0c;点p的全体是直线y2x。 x可变成一…

PMP–冲刺–十大领域易考点三大项目流程敏捷中的角色职责与3个工件高频考点考试技巧–名词解析版

文章目录 技巧PMBOK易考点--题干关键词一、引论二、项目运行环境三、项目经理的角色四、整合管理五、范围管理六、进度管理七、成本管理八、质量管理九、资源管理十、沟通管理十一、风险管理十二、采购管理十三、干系人管理 考试中的三大项目流程一 、变更流程二 、风险流程三 …

最大括号深度

题目描述 现有一字符串仅由(&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;]六种括号组成。 若字符串满足以下条件之一&#xff0c;则为无效字符串: ①任一类型的左右括号数量不相等;②存在未按正确顺序(先左后右)闭合的括号。 输出括号的最大嵌套深度&…

卷积神经网络-经典分类网络结构(LetNet-5,AlexNet)

目录 一:LeNet-5解析 1.网络结构 输入层: 1.conv1: 2.pool1层: 3.conv2: 4.pool2: 5.fc3,fc4: 6.output层: 2.参数形状 二:AlexNet 1层: 2层: 3层: 4 层 5 层 6 全连接层 7 全连接层 8 全连接层 三:卷积网络结构的优化: 1.常见结构特点: …

【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)

文章目录 PyQt5超详细教程前言第7部分&#xff1a;生成图表与数据可视化7.1 matplotlib 与 PyQt5 的结合7.2 在 PyQt5 中嵌入 matplotlib 图表示例 1&#xff1a;嵌入简单的 matplotlib 图表代码详解&#xff1a; 7.3 动态生成图表示例 2&#xff1a;动态更新图表代码详解&…