centos7 gitlab安装配置

news/2024/10/20 21:05:10/

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.rbexternal_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/gitlabchmod 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.ppmy.cn/news/351259.html

相关文章

Git第十八讲 Git常见问题解决

Git常见问题解决 在使用 Git 进行版本控制时,你可能会遇到一些常见问题和错误。本文将介绍一些常见问题,并提供解决方案,以帮助你更好地使用 Git。 1. Git 报错和常见问题解决方案 Git 在使用过程中可能会产生各种报错信息,这些…

Netty实战(十三)

WebSocket协议(一) 一、什么是WebSocket 协议二、简单的 WebSocket 程序示例2.1 程序逻辑2.2 添加 WebSocket 支持2.3 处理 HTTP 请求2.4 处理 WebSocket 帧 一、什么是WebSocket 协议 WebSocket 协议是完全重新设计的协议,旨在为 Web 上的双…

常用数学符号读音表(中英双语)

下表整理了数学中常见的希腊字母符号, 序号大写小写英文注音国际音标注音中文注音1Ααalphaa:lf阿尔法2Ββbetabet贝塔3Γγgammaga:m伽马4Δδdeltadelt德尔塔5Εεepsilonepsilon伊普西龙6Ζζzetazat截塔7Ηηetaeit艾塔8Θθthetθit西塔9Ιιiotaiot约塔10Κ…

科学计算机的英文怎么拼读,科学的英语读音,科学的英文怎么读谐音。

科学用英语怎么拼读 科学 science, scientific knowledge 博物馆 museum 邮局 post office 医院 hospital 书店 bookstore 电影院 cinema; the movies; a movie house科学的英语单词是science。英式读法是[ˈsʌɪəns];美式读法是[ˈsaɪəns]。作名词时意思是科学…

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

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

python查单词音标_有没有通过读音或音标就能查出英语单词的办法,比如发音查词软件?...

展开全部 英语发音软件可以通过读音或音标就能查出英语单词。 英语发音软件带一个独e68a84e8a2ad3231313335323631343130323136353331333431373239特的音标词典,可以根据发音查单词,哪怕音标记不太清楚也能查到。在听到某个单词想查的时候,可…

Netty实战(十四)

WebSocket协议(二) 一、初始化 ChannelPipeline二、引导三、加密 一、初始化 ChannelPipeline 我们之前说过为了将 ChannelHandler 安装到 ChannelPipeline 中,需要扩展了ChannelInitializer,并实现 initChannel()方法。 下面我…

解决git提交时候出现的错误提示“modified:xxxxx (modified content, untracked content)“方法

今天来分享一个关于自己在使用git从本地仓库提交至远程仓库时候遇到的一个错误。话不多说,先来看一下这个错误提示:“modified:xxxxx (modified content, untracked content)”。这个错误提示我,xxxxx里面有未跟踪且已修改的内容,…