搭建gitlab代码托管仓库(解决centos7无法使用默认数据源问题)

news2025/1/12 16:03:50

公司的gitlab由于停电,又崩了,每次停电都会崩掉。所以就想到自己学一下搭建gitlab代码中心,后面在搞一个jenkins自动发版学习一下,慢慢搞吧。

在弄的时候,发现Centos7居然在2024年6月31日停止维护了。这就离谱了,他的yum默认数据源也归档了。只能用阿里云等第三方的镜像数据源:

大佬教程地址:CentOS 7 yum无法使用解决方法Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch= - 愚生浅末 - 博客园 (cnblogs.com)

一、配置阿里云第三方yum数据源:

1、首先找到yum的配置文件:

cd /etc/yum.repos.d

找到CentOS-Base.repo文件

直接粘贴吧,懒得改:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

把旧的数据全部替换掉。

执行更新数据源:

sudo yum clean all
sudo yum makecache

2、增加阿里云第三方数据源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

再次更新数据源:

sudo yum clean all
sudo yum makecache

二、 安装gitlab

1、下载gitlab安装包(后续安装时,会自动跟新为最新版的gitlab,不知道是为啥,下了半天。。。)

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

这里选择el7因为我使用的是Centos7的操作系统。

2、运行安装gitlab命令,下载所需的依赖

下载下来后搞一个文件夹放着(/opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm),创建一个.sh文件,写入这些:

   #!/bin/bash
   
   # 安装 GitLab CE RPM 包
   sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
   
   # 安装所需的依赖项
   sudo yum install -y curl policycoreutils-python openssh-server cronie
   
   # 配置防火墙(iptables)以允许 HTTP 和 SSH 连接,并安装并启动 Postfix 邮件服务
   sudo lokkit -s http -s ssh
   sudo yum install -y postfix
   sudo service postfix start
   sudo chkconfig postfix on
   
   # 使用 GitLab 官方安装脚本添加软件包库
   curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
   
   # 通过指定外部 URL 安装 GitLab CE
   sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce

我执行后,下载了很多依赖,最后又下了一个V17.2.1 版本的gitlab。真奇怪。

3、初始化、运行gitlab

执行以下命令来初始化 GitLab 服务:

   sudo gitlab-ctl reconfigure

 启动 GitLab 服务

   sudo gitlab-ctl start

 4、地址就是gitlab服务器地址,80端口记得开放

  • root默认密码在车间gitlab时会创建一个文件,存放在里面:
  • /etc/gitlab/initial_root_password
  • 据说这个文件将在首次执行reconfigure后24小时自动删除

 5、默认是英文的,设置为中文

三、备份gitlab 

设置备份文件存放地址、备份文件存在时间(默认/var/opt/gitlab/backups,不修改也是可以的,达到一定时间会自动删除,不修改也是可以的

/etc/gitlab/gitlab.rb

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" ##备份文件存放地址,不存在自动创建
gitlab_rails['backup_keep_time'] = 604800 ##一个周删除

上面两个都是gitlab的默认值,不设置就会按照默认值执行。

如果修改了值,请加载配置文件:

gitlab-ctl reconfigure

1、执行备份

在命令执行:

/usr/bin/gitlab-rake gitlab:backup:create

生成一次备份。

2、自动执行备份

每天中午十二点备份

(crontab -l; echo "00 12 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1")| crontab

3、恢复gitlab备份 

需要先停止推送,拉去代码的服务,以防在恢复gitlab时,有人操作

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

执行恢复备份命令:

gitlab-rake gitlab:backup:restore BACKUP=备份数字名

即:1722409895_2024_07_31_17.2.1_gitlab_backup.tar文件名,就是这样

gitlab-rake gitlab:backup:restore BACKUP=1722409895_2024_07_31_17.2.1
然后就会进入漫长的恢复,还能看见删表、建表的sql语句

4、默认的代码拉取地址是 :

http://gitlab.example.com/xxxxx

要改为自己gitlab服务器的地址:

[root@localhost ~]# vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

重启服务:

gitlab-ctl restart

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

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

相关文章

职教国培丨高职教师数据分析与挖掘课程实施能力提升培训班莅临泰迪智能科技参观调研

7月28日,由广东机电职业技术学院牵头,广东泰迪智能科技股份有限公司为合作单位的“2024年高职教师数据分析与挖掘课程实施能力提升培训班”老师莅临广东泰迪智能科技股份有限公司产教融合实训基地参观调研,来自广东省各地36位高校教师参与本次…

如何在 Kali Linux 上安装和使用 Docker 和 Docker Compose

Docker 和 Docker Compose 是现代开发者必备的工具,特别是当你需要在不同的环境中部署应用时。本文将详细介绍如何在 Kali Linux 上安装 Docker 和 Docker Compose,并使用它们启动服务。即使你是个技术小白,也能轻松跟随这篇指南完成操作。 …

Ecovadis认证:企业申请Ecovadis认证条件

Ecovadis认证是一种用于评估和评价企业可持续发展绩效的认证体系。该认证由Ecovadis公司提供,目的是帮助公司了解和改善其环境、社会和治理(ESG)实践。 Ecovadis认证主要基于四个方面进行评估:环境、劳工和人权、道德采购以及可持…

Python——记录pip问题(解决下载慢、升级失败问题)

在python开发中,经常需要使用到各种各样的库。 pip又是我们常用的安装工具。但是国外的源下载速度实在太慢,经常导致超时。 有很多朋友刚刚学Python的时候,会来问为什么pip下载东西这么慢啊? 而且pycharm里面下载库也是非常的慢…

Linux服务器安装MySQL8.0

序号类型地址1MySQLLinux(centos 7.5)服务器安装MySQL5.72MySQLLinux服务器安装MySQL8.03MySQLMySQL操作之概念、SQL约束(一)4MySQLMySQL操作之数据定义语言(DDL)(二)5MySQLMySQL操作之数据操作…

React三原理和路由

代码下载 React 组件通讯原理 setState() 说明 setState() 是异步更新数据的,使用该语法时,后面的 setState() 不要依赖于前面的 setState(),可以多次调用 setState() ,只会触发一次重新渲染: this.setState({ coun…

CPQ报价管理系统 | 成本报价CPQ解决方案

一、成本报价流程现状 1、传统流程 2、业务痛点 ①、数据手工重复输入环节多、易错,为保障准确性需多次复核,影响报价效率 ②、原材波动较大,但是当前询价流程只有一次性,原材成本发生变化,无法及时更新变化提醒报价…

类和对象(作业篇)

简简单单整理一下咱们的小作业,这次的作业比较简单,只有选择题: public class Test{private float f1.0f;int m12;static int n1;public static void main(String args[]){Test tnew Test();} }A:抛开private不说,先看…

解析顺序表【数据结构】

1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有线序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就是说是连续的一条线…

HTML 字符集详解及示例

文章目录 摘要引言从ASCII到UTF-8的演变ASCII 字符集ANSI字符集ISO-8859-1字符集UTF-8字符集 示例代码运行Demo小结表格总结未来展望参考资料 摘要 本文介绍了HTML中的字符集演变历史,从最初的ASCII到现代的UTF-8,并提供了设置字符集的示例代码。文中涵…

图形编辑器基于Paper.js教程10:导入导出svg,导入导出json数据

深入了解Paper.js:实现SVG和JSON的导入导出功能 Paper.js是一款强大的矢量绘图JavaScript库,非常适合用于复杂的图形处理和交互式网页应用。本文将详细介绍如何在Paper.js项目中实现SVG和JSON格式的导入导出功能,这对于开发动态图形编辑器等…

git reset --soft(回退commit,保留add)

参考博客:git reset --soft命令的使用-CSDN博客感觉博客中举的例子不是很好。读者自行判断。举的例子的场景适合使用revert,撤销就行了。另外建议看下边这篇博客,这篇详细介绍了reset和revert,带图。但是要注意这个reset是hard的&…

mysql 内存一直增长(memory/sql/thd::main_mem_root)

mysql版本 8.0.14 发现过程 查询总内存 SELECT t.EVENT_NAME, t.CURRENT_NUMBER_OF_BYTES_USED FROM performance_schema.memory_summary_global_by_event_name t ORDER BY t.CURRENT_NUMBER_OF_BYTES_USED DESC;前: memory/sql/thd::main_mem_root 1…

第十五天啦 2024.8.1 (Spring框架)

1.从宏观上看spring框架和springboot Spring框架解决了企业级的开发的复杂性,它是一个容器框架,用于装java对象(Bean),使程序间的依赖关系交由容器统一管理,松耦合,提高了可测试性和维护效率&a…

网络原理的TCP/IP

TCP/IP协议 1)应用层 应用层和应用程序直接相关,与程序员息息相关的一层协议,应用层协议,里面描述的内容,就是写的程序,通过网络具体按照啥样的方式来进行传输,不同的应用程序,就可以用不同的应用层协议,在实际开发的过程中,需要程序员自制应用层协议 应用层协议本质上就是对…

主题巴巴WordPress主题合辑打包下载+主题巴巴SEO插件

主题巴巴WordPress主题合辑打包下载,包含博客一号、博客二号、博客X、门户一号、门户手机版、图片一号、杂志一号、自媒体一号、自媒体二号和主题巴巴SEO插件。

5行代码快速Git配置ssh

0 流程步骤 检查本地主机是否已经存在ssh key生成ssh key获取ssh key公钥内容(id_rsa.pub)复制该内容,到Github账号上添加公钥,进入Settings设置验证是否设置成功 1 代码 # 1.检查本地主机是否已经存在ssh key cd ~/.ssh ls # …

Notepad++ 安装 compare 插件

文章目录 文章介绍对比效果安装过程参考链接 文章介绍 compare 插件用于对比文本差异 对比效果 安装过程 搜索compare插件 参考链接 添加链接描述

权威认可!聚铭网络再度入选中国信通院《中国数据库产业图谱(2024年)》

7月16日,由中国信息通信研究院、中国通信标准化协会指导,中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)、InfoQ联合主办的“2024可信数据库发展大会”在京召开。会上,正式发布《中国数据库产业图谱&#xf…

《电子技术》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问:《电子技术》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《电子技术》级别? 答:省级。主管单位:上海科学技术协会 主办单位:上海…