centos7 gitlab安装配置

news2025/2/12 22:00:20

gitlab概述

GitLab是一个基于Web的Git存储库管理和代码协作平台。它提供了一套完整的工具和功能,使团队能够更高效地进行代码版本控制、协作开发和持续集成/持续部署(CI/CD)。

以下是GitLab的主要功能和概述:

版本控制系统(VCS)支持:GitLab使用Git作为底层版本控制系统,提供强大的分布式版本控制功能,允许团队成员协同工作并跟踪代码的修改历史。

存储库管理:GitLab允许创建和管理多个Git存储库,每个存储库都包含一个项目。你可以通过Web界面或命令行与存储库进行交互,包括克隆、推送、拉取、合并分支等操作。

协作和讨论:GitLab提供了许多协作工具,如问题跟踪、合并请求和讨论区。团队成员可以在合并请求中进行代码审查和讨论,并在问题跟踪系统中追踪和解决软件问题。

持续集成/持续部署(CI/CD):GitLab集成了强大的CI/CD功能,可以自动构建、测试和部署应用程序。你可以配置流水线来定义构建和部署的步骤,并通过触发器、钩子和定时器等方式触发自动化流程。

权限和访问控制:GitLab提供灵活的权限和访问控制设置,允许你管理团队成员的访问权限,并控制他们对存储库和项目的操作。你可以定义用户、组、角色和访问级别,确保代码和项目的安全性和保密性。

集成和扩展性:GitLab可以与许多其他工具和服务集成,如JIRA、Slack、Jenkins等。它还提供了API和Web钩子,允许你通过自定义集成和插件扩展GitLab的功能。

GitLab以开源方式提供,同时也提供了企业版(GitLab EE)和托管服务(GitLab.com)供商业和个人使用。无论是个人开发者、小型团队还是大型组织,GitLab都提供了强大的工具和功能,支持敏捷开发、DevOps实践和协作软件开发。

gitlab rpm包下载

gitlab-ce指的是gitlab-ce社区版,点此处打开gitlab下载地址,清华大学开源软件镜像站-gitlab。

gitlab安装

1 安装依赖

yum install -y curl policycoreutils-python

2 安装gitlab

rpm -i gitlab-ce-11.11.8-ce.0.el6.x86_64.rpm

3、修改gitlab配置文件

vi /etc/gitlab/gitlab.rb

external_url 'http://gitlab20.com:8082'  #修改成域名访问,修改后,使配置生效即可


修改配置后,使配置生效

gitlab-ctl reconfigure
gitlab-ctl restart        #重启gitlab服务
gitlab-ctl stop            #停止gitlab服务
gitlab-ctl start        #启动gitlab
gitlab-ctl tail            #查看日志

4 设置http或者https的监听端口(配置一般自动生成),修改完需要重启gitlab使配置生效

vi /var/opt/gitlab/nginx/conf/gitlab-http.conf   

5 查看当前绑定的域名或者IP

grep "^external_url" /etc/gitlab/gitlab.rb 

在这里插入图片描述

gitlab备份

默认的备份文件目录为:/var/opt/gitlab/backups,如果自定义备份目录需要赋予目录 git 权限,具体操作如下:

创建备份目录

mkdir -p /data/backup/gitlab           

修改配置文件,在配置文件中加入路径

vi /etc/gitlab/gitlab.rb

gitlab_rails[‘backup_path’] = ‘/data/backup/gitlab’
gitlab_rails[‘backup_keep_time’] = 604800 #备份保留的时间(以秒为单位, 这个是七天默认值)
保存 wq退出
改完配置执行gitlab-ctl reconfigure

备份目录需要赋权

chown -R git.root /data/backup/gitlab

chmod 700 /data/backup/gitlab

创建备份

gitlab-rake gitlab:backup:create

[root@localhost src]# gitlab-rake gitlab:backup:create
2023-05-09 15:08:30 +0800 – Dumping database …
Dumping PostgreSQL database gitlabhq_production … [DONE]
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping repositories …
[SKIPPED] Wiki
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping uploads …
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping builds …
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping artifacts …
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping pages …
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping lfs objects …
2023-05-09 15:08:31 +0800 – done
2023-05-09 15:08:31 +0800 – Dumping container registry images …
2023-05-09 15:08:31 +0800 – [DISABLED]
Creating backup archive: 1683616111_2023_05_09_11.11.8_gitlab_backup.tar … done
Uploading backup archive to remote storage … skipped
Deleting tmp directories … done
done
done
done
done
done
done
done
Deleting old backups … skipping

执行完备份命令会在/var/opt/gitlab/backups/目录生成备份后的文件

ll  /var/opt/gitlab/backups/   

-rw-------. 1 git git 2048000 May  9 15:08 1683616111_2023_05_09_11.11.8_gitlab_backup.tar
1683616111是一个时间戳,从1970110时到当前时间的秒数。这个压缩包包含Gitlab所有数据(例如:管理员、普通账户以及仓库等等)

crontab -e 自动备份

#每天2点执行备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

修改gitlab配置vi /etc/gitlab/gitlab.rb,限制备份次数为7

gitlab_rails['backup_keep_time'] = 604800

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

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

相关文章

使用布隆过滤器的flink十亿级数据实时过滤实践一

1项目背景 1.1 需求 实时推荐项目需求如下:根据用户实时行为(如关注,播放,收藏)推荐该UP主(关注的up主,播放视频发布up主,收藏up主)或其相似UP主的作品,UP主及相似UP主下的作品是提前离线召回…

react---生命周期

目录 1.新旧生命周期对比 2.常用的3个钩子函数 3.生命周期(旧) 4.生命周期(新) React 中为我们提供了一些生命周期钩子函数,让我们能在 React 执行的重要阶段,在钩子函数中做一些事情。 1.新旧生命周期…

数据安全--17--数据安全管理之数据传输

本博客地址:https://security.blog.csdn.net/article/details/131061729 一、数据传输概述 数据传输有两个主体,一个是数据发送方,另一个是数据接收方。数据在通过不可信或者较低安全性的网络进行传输时,容易发生数据被窃取、伪…

Mybatis源码学习之全局配置文件和映射文件解析

全局配置文件和映射文件解析 全局配置文件解析 public static void main(String[] args) throws IOException {// 读取配置文件InputStream is Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1.xml");// 创建SqlSessionFactory工厂SqlSes…

JDK11 官网下载(提供网盘下载资源)

目录 引言一、Oracle(甲骨文)二、JDK11下载1.JDK11下载入口2.JDK版本说明3.JDK11下载前说明4.JDK11下载 三、网盘下载1.资源提供说明2.资源列表清单(持续更新中...)3.获取方式 总结 引言 我们要学习 Java 语言去开发 Java 程序&a…

k8s 基本架构

k8s 中支持的 node 数 和 pod 数 k8s 也是逐步发展过来的,来看看以前和现在支持的 node 数 和 pod 数对比 node 即 节点 , 早期的 k8s 版本能够支持 100 台节点,现在 k8s 可以支持到 2000 台了 pod 数,早期的版本可以支持 1000 …

Android 自定义View 之 Dialog弹窗

Dialog弹窗 前言正文一、弹窗视图帮助类二、弹窗控制类三、监听接口四、样式五、简易弹窗六、常规使用七、简易使用八、源码 前言 在日常开发中用到弹窗是比较多的,常用于提示作用,比如错误操作提示,余额不足提示,退出登录提示等&…

linux 内核版本和发行版本

当要明确自己的Linux系统的版本号时,大多数情况是用命令确定Linux内核版本的。不过这个还是要与CentOS的版本号(就是你使用的Linux系统的发行版本)区分开来,这两个不是一个东西。 一、发行版本号 比如当时安装CentOS时&#x…

【Python】集合 set ① ( 集合定义 | 集合特点 | 代码示例 - 集合定义 )

文章目录 一、集合特点二、集合定义三、代码示例 - 集合定义 一、集合特点 在之前 的博客中 介绍了 列表 / 元组 / 字符串 数据容器 , 列表 支持 定义后 , 增加元素 / 修改元素 / 删除元素 , 并且 列表中可以存储 重复 / 有序 的元素 ;元组 定义后 不能 进行 增加元素 / 修改元…

(转载)有导师学习神经网络的回归拟合(matlab实现)

神经网络的学习规则又称神经网络的训练算法,用来计算更新神经网络的权值和阈值。学习规则有两大类别:有导师学习和无导师学习。在有导师学习中,需要为学习规则提供一系列正确的网络输入/输出对(即训练样本),当网络输入时,将网络输…

对于Promise的理解

1.什么是回调地狱 多层异步函数的嵌套叫做回调地狱 代码1: setTimeout(() > {console.log(吃饭);setTimeout(() > {console.log(睡觉);setTimeout(() > {console.log(打豆豆);}, 1000);}, 2000);}, 3000); 代码2: 通过id获取用户名,通过用户名获取邮箱…

如何自动识别快递单号和批量查询的方法

最近有很多朋友问我,有没有办法批量查询快递单号,查询该快递单号的所有物流发货信息?今天小编就来分享一个实用的查询技巧,教大家轻松查询多个快递单号,还可以一键保存查询数据,一起来看看吧。 首先今天我们…

PoseNet深度网络进行6D位姿估计的训练,python3实现

0.相关github网址 原版github代码-caffe实现tensorflow实现,相关版本较低,python2,本文根据此代码迁移到python3上面。pytorch实现,但将骨干模型从goglenet改成了resnet,实验效果得到提升,但没公布预训练权…

快递单号一键批量查询的具体操作方法和步骤

最近做电商的朋友对一个话题很感兴趣:如何批量查询快递单号?今天,小编给你安利一款软件:固乔快递查询助手,支持大量快递单号的批量查询。下面我们来看看批量查询的具体操作方法。 小伙伴们需要先在“固乔科技”的官网上…

session与cookie的来源与区别

目录 1.什么是HTTP? 2.cookie 3.session 4.cookie和session的区别 如果你对于session 和cookie 只有一点模糊理解,那么此文章能帮你更深入理解session和cookie ,依旧和上篇文章一样,我们采用问题的方式来一步步探索&#xff0…

第七章 测试

文章目录 第七章 测试7.1 编码7.1.1 选择程序设计语言1. 计算机程序设计语言基本上可以分为汇编语言和高级语言2. 从应用特点看,高级语言可分为基础语言、结构化语言、专用语言 7.1.2 编码风格 7.2 软件测试基础7.2.1 软件测试的目标7.2.2 软件测试准则7.2.3 测试方…

JVM基础面试题及原理讲解

基本问题 介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问题 Strin…

Flutter Widget 生命周期 key探究

Widget 在Flutter中,一切皆是Widget(组件),Widget的功能是“描述一个UI元素的配置数据”,它就是说,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,它只是描述显示元素的一个配置数据。 …

分库分表 21 招

(一)好好的系统,为什么要分库分表? 咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异&#…

自动化测试框架seldom

创建项目 | seldom文档 这个框架还是不错的,一直在优化,测试框架里的功能这里都有了。 seldom继承unittest单元测试框架,可以用来做UI和接口自动化项目。 安装 pip install seldom 创建项目 > seldom -P mypro 创建测试用例 # tes…