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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 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 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
5天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
26 9
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
20 5
|
21天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
38 2
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
262 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
72 0
|
1月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
11天前
|
缓存 监控 Linux