【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。下面我们

前言

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

下面我们通过在Linux centOS8 中搭建GitLab私有仓库并且结合Cpolar内网穿透工具,实现在公网环境下也可以访问私有仓库Gitlab。

1. 下载Gitlab

在系统中创建一个目录,名字叫GitLab,存放下载的安装包

shellmkdir /usr/local/gitlab

进入创建的目录

shellcd /usr/local/gitlab

下载Gitlab安装包,等待下载完成

shellwget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm/download.rpm

2. 安装Gitlab

下载成功后,开始安装Gitlab,首先安装一个工具包,时间很长,等待安装完成:

shellyum install  policycoreutils-python-utils

然后安装Gitlab,进去我们上面创建的/usr/local/gitlab目录下执行:

shellrpm -Uvh gitlab-ce-15.0.2-ce.0.el8.x86_64.rpm

安装完成后,更新配置,稍微需要点时间,耐心等待一下,完成后,我们可以看到用户名和密码

shellgitlab-ctl reconfigure

以下信息我们可以看到用户名和密码,用户名为:root,密码需要单独查看

上面那个路径就是密码路径,查看密码:

shellcat /etc/gitlab/initial_root_password

3. 启动Gitlab

测试启动,没有出错表示成功

shellgitlab-ctl start

然后修改访问地址,编辑Gitlab配置文件,

shellvim /etc/gitlab/gitlab.rb

把external_url的值换成http://127.0.0.1:8088,端口号可以自己指定,这里指定8088,然后保存

修改完后重新加载配置文件

shellgitlab-ctl reconfigure

然后重新启动Gitlab

shellsudo gitlab-ctl restart

如果有防火墙,添加防火墙端口:8088

shellfirewall-cmd --zone=public --add-port=8088/tcp --permanent

然后打开浏览器,输入Linux 局域网ip+8088,即可访问成功

输入上面的用户名:root 和上面查看的密码即可登录成功啦

4. 安装cpolar

上面我们在本地Linux虚拟机安装了Gitlab,下面我们安装cpolar内网传统工具,通过cpolar的http公网地址,我们可以很容易远程也可以访问GitLab,而无需自己注册域名.下面是安装cpolar步骤

  • 使用一键脚本安装命令
shellcurl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

shellcpolar authtoken xxxxxxx

  • 向系统添加服务,将cpolar配置为开机自启
shellsudo systemctl enable cpolar
  • 启动cpolar服务
shellsudo systemctl start cpolar

5. 创建隧道配置访问地址

成功启动cpolar服务后,我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个http协议的隧道指向上面设置的8088端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8088
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

然后打开在线隧道列表,查看并且复制公网地址

然后打开浏览器,输入公网地址,即可访问成功

6. 固定GitLab访问地址

由于刚刚创建隧道使用的是随机临时地址,该地址会在24小时内发生变化,为了长期远程访问,我们接下来将这个公网地址配置为固定的。

6.1 保留二级子域名

需升级至基础套餐或以上才支持配置二级子域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

本例保留一个名称为gitlabTest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

6.2 配置二级子域名

登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为gitlabTest

修改完成后,点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。

7. 测试访问二级子域名

打开浏览器,我们来测试一下访问配置成功的二级子域名,测试成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。 而且这个地址也不会再随机变化,他是固定不变的,只要保持隧道在线,我们在外就可以通过这个公网地址,随时随地远程访问,无需公网IP,也不用设置路由器。

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
相关文章
|
1月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
142 3
|
14天前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
45 10
|
1月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
114 21
|
15天前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
56 1
|
23天前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
2月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
84 13
|
2月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
87 5
|
20天前
|
Linux
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
119 56
|
6天前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
77 24
|
9天前
|
安全 Shell Linux
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
47 2
Linux系统之su命令的基本使用