如何在 CentOS 8 上安装和配置 Gitlab

2023-11-13

Gitlab是源代码管理应用工具。它是 Github 的最佳替代品。它还为自托管版本的用户提供了一个选项。您只需安装Gitlab服务器即可充分利用其出色的功能。本教程将帮助您在 CentOS 8 Linux 系统上安装和配置 Gitlab(社区版)。

您还可以访问我们的Git 教程部分了解 Git 命令行教程和示例。

第 1 步 – 先决条件

  • 新安装的 CentOS 8 机器。
  • 完全的初始服务器设置
  • Gitlab 的域名/子域名,DNS 指向服务器。

在本教程中,我在数字海洋。还尖尖的“gitlab.tecadmin.net”到水滴。

步骤 2 – 在 CentOS 8 上安装 Gitlab

首先,在 CentOS 系统上启用 Gitlab 存储库。 Gitlab 团队提供了一个 shell 脚本来为 Linux 系统配置 yum 存储库。运行以下命令来执行此操作:


curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  

现在,运行以下命令来安装 Gitlab 社区版:


sudo dnf install gitlab-ce
  

上面的命令将安装所有必需的应用程序,包括 Nginx Web 服务器,以便在您的系统上运行 Gitlab。

第 3 步 – 启用 Let's Encrypt SSL

Gitlab 有其 enbuild 功能,可以在 Gitlab 服务器上配置 Let’s encrypt 免费 SSL 证书。您只需在配置文件中启用此功能即可。

然后编辑配置文件完成配置:


vim /etc/gitlab/gitlab.rb
  

设置 Gitlab 服务器的公共可访问 URL。


external_url 'https://gitlab.tecadmin.net'
  

您还可以为您的 Gitlab 启用 let's encrypt ssl。安装程序将自动生成 Lets encrypt ssl 并在 Gitlab 上进行配置。


letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['rahul@tecadmin.net']
  

此外,您还可以启用 SSL 证书自动续订


letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"
  

在启用 Let's encrypt 之前,您必须将域/子域指向服务器的 IP。这是完成颁发 SSL 的域验证所必需的。

步骤 4 – 配置 Gitlab 服务器

接下来,使用以下命令配置 Gitlab 服务器。这将进行所有安装和所需的更改,以便在 Ubuntu 系统上运行 Gitlab 社区版。


sudo gitlab-ctl reconfigure
  

配置过程需要一些时间才能完成设置。

第 5 步 – 调整防火墙

系统启用firealld需要允许HTTP(80)和HTTPS(443)端口。这将允许您通过网络访问 Gitlab 服务器。使用以下命令在firewalld中允许端口.


sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
  

接下来,运行以下命令以应用更改:


sudo firewall-cmd --reload
  

第 6 步 – Gitlab 仪表板访问

使用Gitlab配置的域名访问Web界面。第一次,Gitlab 会要求您设置管理员密码。为 root 用户设置新的安全密码。


https://nagios.tecadmin.net
  

配置 Gitlab root 帐户的密码后,导航到登录屏幕。现在使用用户“root”和指定的密码登录。


Username:  root
Password:  above_configured_password
  

成功登录后,您将获得对 Gitlab 服务器的仪表板访问权限。在这里您可以开始创建用户和新的 git 存储库。

现在访问我们的Git 教程通过命令行帮助和示例了解有关 Git 存储库的使用的更多信息。

步骤 7 – 安排 Gitlab 数据备份

使用以下命令创建 Gitlab 数据的完整备份。默认备份位置为 /var/opt/gitlab/backups。您可以在 /etc/gitlab/gitlab.rb 文件中更改此设置。


sudo gitlab-rake gitlab:backup:create
  

您还可以添加相同的命令调度程序来每晚备份数据。将以下 cron 添加到系统 crontab 中。


0 22 * * * sudo gitlab-rake gitlab:backup:create
  

结论

您已在 Ubuntu 系统上成功安装并配置了 Gitlab 社区版。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 8 上安装和配置 Gitlab 的相关文章

  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • git push origin 分支名总是推送到 master

    我搜索了一下 但似乎找不到答案 在我可以访问的两个盒子上 当我执行 git push dry run origin mytestbranch 时 我得到以下结果 To email protected cdn cgi l email prot
  • Git 显示更改后的相同文件

    当我似乎无法弄清楚更改时 Git 向我显示整个文件已更改 这是 cygwin git 但它也发生在 msysgit 中 git version git version 2 1 1 diff lt git show HEAD File cs
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • git-svn --忽略路径

    我现在在 git svn 的 ignore paths 选项上挣扎了几个小时 试图从大型存储库中仅获取某些标签 我想在 dev 处开始获取 看起来像 gt svn ls http 192 168 0 2 svn repo corporati
  • 判断 Git 提交是否是合并/恢复提交

    我正在编写一个脚本 需要检查特定提交是否是合并 恢复提交 我想知道是否有 git 技巧 到目前为止我想到的 我绝对不想依赖这里的提交消息 是检查HASH 2看看我是否没有收到错误 是否有更好的方法 判断某个东西是否是合并很容易 这是不止一位
  • 使用 Git 的 Spring Cloud 配置服务器 - 无法克隆或签出存储库连接超时

    我正在使用 GIT 在 Spring Cloud Config Server 上进行 POC Spring Boot 1 5 3 RELEASE 爪哇1 8 弹簧工具套件https github com kishornpatil https
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 如何查看上次提交和现在之间发生了什么变化(进行一些更改后)

    与此类似question https stackoverflow com questions 1552340 how to list the file names only that changed between two commits但
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • Git 命令显示我对给定远程的权限

    同事可以从远程存储库获取数据 但不能推送到远程存储库 我怀疑他对遥控器只有读权限而没有写权限 我可以通过多种方法来检查这一点 但我想不出他可以在 git 中使用的方法 是否有 git 命令可以显示给定远程存储库的权限 No Git 本身不处
  • 具有单独 work_tree 的 Git 子模块

    我按照本页上的教程使通过 Git 部署我的网站变得简单 http toroid org ams git website howto http toroid org ams git website howto 到目前为止一切都很好 但是我最近
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • gitlab 中的自动发行说明[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 任何人都可以帮助我在 git lab 中自动生成发行说明 有什么方法可以执行此操作 请告诉我 谢谢 您可以使用 API 列出里程碑中的
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与

随机推荐

  • Kibana忘记初始密码怎么办?

    在你elasticsearch的安装目录bin目录下面执行 bin gt elasticsearch reset password u elastic 执行结束之后就是下面初始化新的密码 注意 首次登录Kibana的登录名 elastic
  • Oracle数据库中神奇的dual表

    DUAL是oracle中非常神奇的一张表 有好多人用了很久oracle都不知道dual是干什么的 因为不是自己设计的表 一般处理的SQL也用不到 这里简单说下DUAL的用法 知道之后很多情况下DUAL查询还是很方便的 一 DUAL简介 1
  • Matlab:读取和处理大数据表格文本文件

    Matlab 读取和处理大数据表格文本文件 在实际的数据分析应用中 往往需要处理海量数据 针对大型数据文件 Matlab提供了快速高效的读取和处理工具 可以便捷地完成数据处理任务 本文将介绍如何使用Matlab读取和处理大型表格文本文件 第
  • c#控制台Console类

    c 控制台Console类 console表示控制台 是一个类 它封装了控制台的一些基本操作 输出 Console Write 输出一个或多个值后不换行 其后没有新行符 可以接着前面的字符继续写入 Console WriteLine 输出一
  • 炸弹人小游戏代码开源(python)

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 当遵从一心 踏浪而往 纵千山万水 也要抵达 目录 一 什么是python 二 游戏代码
  • 学python心得体会800字-python心得体会

    广告关闭 腾讯云双11爆品提前享 精选热门产品助力上云 云服务器首年88元起 买的越多返的越多 最高满返5000元 前些日子用python基于prometheus开发了一个vsphere volume卷监控的exporter 于是跟vsph
  • Swift入门篇-闭包和函数

    今天主要是给大家分享的是 swift中闭包的用法 我个人觉得闭包就是函数的简写方法 如果您函数不是很熟悉请查阅 swift入门篇 函数 1 函数类型 函数类型 var 变量 类型 gt 返回值 函数名 说明 1 函数名 表示函数地址 2 类
  • Mysql Workbench的下载和简单使用

    一 下载和安装 1 1网站 http dev mysql com downloads workbench 1 2 点击下载按钮 一直下一步下一步就可以安装成功 二 了解简单使用 2 1安装后 打开首页入下 2 2 连接数据库 点击MySQL
  • crm2013sql服务器安装Microsoft Dynamics CRM Reporting Extensions遇到问题

    前提 我需要创建一个新的组织 但是告诉我未在为组织指定的 Microsoft SQL Server Reporting Services 实例上安装 Microsoft Dynamics CRM Reporting Extensions 然
  • 算法程序设计实验报告

    多种方法解决算法问题 题目一 方法一 快速排序 方法二 直接插入排序 方法三 选择法排序 方法四 冒泡排序 题目二 方法一 冒泡排序 方法二 堆排序 方法三 分治策略 方法四 二路归并排序 题目三 方法一 穷举法 方法二 动态规划 方法三
  • HTML文件怎么引入高德地图

    1 首先 注册高德地图开发者 这个直接在官网上注册 输入必要信息就行 如下 2 注册完成后 进入个人中心 依次点击 应用管理 gt 我的应用 gt 创建新应用 如下 这里输入应用名称 选择类型就行 3 接着就需要为应用添加key值 点击右上
  • 如何在 PHP 中比较两个数组值:实用指南

    在 PHP 中 数组是一种允许存储多个元素的数据结构 数组中的每个元素都有唯一的索引 对数组执行的一种常见操作是比较它们以确定它们是否相同或是否包含相同的元素 在 PHP 中比较数组的方法有多种 包括使用数组函数 例如 array diff
  • 如何在 Debian Linux 上使用 ChromeDriver 设置 Selenium

    本教程将帮助您在 Debian 9 和 Debian 8 上使用 ChromeDriver 设置 Selenium 本教程还包括一个使用 Selenium 独立服务器和 ChromeDriver 并运行示例测试用例的 Java 程序示例 X
  • 如何在 Ubuntu 22.04 上安装和保护 MongoDB

    MongoDB 是一种流行的开源 面向文档的 NoSQL 数据库 提供高性能 可扩展性和灵活性 由于它能够存储和管理大量非结构化数据 因此在现代 Web 应用程序中得到广泛使用 MongoDB 可以安装在各种操作系统上 包括 Ubuntu
  • 单体服务和微服务之间的区别

    在软件架构领域 近年来两种主要风格引起了广泛关注 单体架构和微服务 当企业和开发人员寻求创建可扩展 可维护且灵活的系统时 了解这两种架构风格之间的区别至关重要 整体架构 定义 整体架构由单个代码库组成 其中所有功能都交织在一起并进行管理 特
  • 如何为您的域生成 SPF 记录

    当您将 SPF 记录添加到您的域时 它有助于指示您的电子邮件是否被欺骗 发件人策略框架 SPF 系统是电子邮件管理员可以用来防止垃圾邮件发送者在垃圾邮件的 发件人 字段中使用其域的标准 例如 如果您从组织的电子邮件地址发送电子邮件 而其他人
  • 如何在 CentOS/RHEL 8 上安装 Tomcat 8.5

    Apache Tomcat 8 5 是可用于安装 Tomcat 8 系列的最新版本 Tomcat 是一个开源 Web 服务器 用于由 Apache 基金会开发的基于 Java 的应用程序 我们使用 Tomcat 来部署 Java Servl
  • 反转字符串的 Python 程序

    字符串是字符序列 在Python中 字符串是字符数据的有序序列 因此可以用这种语言进行索引 Python 不支持字符类型 但它们被视为长度为 1 的字符串 也被视为子字符串 大多数编程面试中的一个常见问题是关于在 Python 中反转字符串
  • 如何在 Ubuntu 18.04 和 16.04 上使用 Let’s Encrypt 保护 Apache

    Let s Encrypt 是一家证书颁发机构 CA 免费提供免费的 SSL TLS 证书以增强安全性 您可以为任何域 子域生成 CA 签署的 SSL 证书 无需任何成本并在您的服务器上使用 它还提供了自动续订 SSL 证书以供长期使用的选
  • 如何在 CentOS 8 上安装和配置 Gitlab

    Gitlab是源代码管理应用工具 它是 Github 的最佳替代品 它还为自托管版本的用户提供了一个选项 您只需安装Gitlab服务器即可充分利用其出色的功能 本教程将帮助您在 CentOS 8 Linux 系统上安装和配置 Gitlab