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

简介: 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,存放下载的安装包

88766fa1e60ced6b6530c3205a7bd71.png


进入创建的目录

9a31f2da08a06df67592a156e7e9c97.png

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

a0591dd6707124dd0063b536ae17a47.png



2. 安装Gitlab

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


6f9a404d8d65691d84a6f78d50d00fe.png


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


11c826014937941b4ce02e48fb93bce.png


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

5273d65012f8b4fc795245948c37439.png

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




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

b72bda8a4c3d6e96ac897cb2f21171a.png



3. 启动Gitlab

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


5a55117e6561f3094cf52e5a20be8d6.png


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


b821c75b4c10f749c9d9fec369a9798.png


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



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

f9013d73e758789e6665e64d292552d.png


然后重新启动Gitlab

f1eff87029510ec027009f8ea8320a1.png


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

f188ca09d7961c91a6ae49c96018048.png


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



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



4. 安装cpolar

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


使用一键脚本安装命令

a0d021c6300fce3552afdbd9e0e544e.png

token认证

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


1e346ee44e555c67688c4992872e356.png

向系统添加服务,将cpolar配置为开机自启

8b2f6d850340944f513a856ef4bdc70.png

启动cpolar服务

9c73a3c70171238bb9fce64f96757f0.png

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的迁移。
相关文章
|
4月前
|
安全 Linux vr&ar
Linux的动态库和静态库
Linux的动态库和静态库
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
99 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
Linux API
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
|
5月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
160 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
4月前
|
Linux 网络安全 Windows
[linux]frp内网穿透
[linux]frp内网穿透
|
4月前
|
jenkins Devops Java
jenkins学习笔记之十:配置Gitlab提交流水线
jenkins学习笔记之十:配置Gitlab提交流水线
|
4月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
|
4月前
|
小程序 Linux 开发者
Linux之缓冲区与C库IO函数简单模拟
通过上述编程实例,可以对Linux系统中缓冲区和C库IO函数如何提高文件读写效率有了一个基本的了解。开发者需要根据应用程序的具体需求来选择合适的IO策略。
35 0
|
4月前
|
Ubuntu 安全 网络安全
在Ubuntu 16.04上安装和配置GitLab的方法
在Ubuntu 16.04上安装和配置GitLab的方法
75 0
|
4月前
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置GitLab的方法
在Ubuntu 18.04上安装和配置GitLab的方法
72 0

热门文章

最新文章