代码管理平台Gitlab如何通过 ZeroNews 实现远程访问?

Gitlab介绍

1.1 GitLab

GitLab 是一个基于 Web 的开源代码托管平台,集代码托管、项目管理、持续集成与持续部署等功能于一身。它采用 Git 作为版本控制系统,界面友好、功能丰富。

相较于市场上的 Gitee 和 GitHub,GitLab 有以下优势:

  • 开源自托管:作为开源软件,可部署在自有服务器,完全掌控代码托管,不受第三方平台制约;而 Gitee 和 GitHub 是商业托管服务。
  • 完整 CI/CD 支持:内置持续集成与部署功能,助力团队自动构建、测试和交付软件,提升开发效率与软件质量。
  • 全面项目管理功能:除代码仓库管理外,还具备项目计划、问题跟踪、文档管理和协作等功能,方便团队组织管理项目。
  • 丰富社区支持:拥有庞大的全球开发者社区,可从中获取开源项目、解决问题、分享经验;社区版也有众多活跃贡献者不断增添新功能、修复 bug。

1.2 Gitee

Gitee 是中国的一家 Git 代码托管平台,功能类似 GitHub,更贴合中国开发者需求。其在国内网络连接速度快,支持中文界面和文档,在中国用户中颇受欢迎。

1.3 GitHub

GitHub 是全球最大的代码托管平台,也是开发者社交网络。它知名度高、社区广泛,覆盖各类技术领域。提供出色的协作与分享功能,方便开发者与全球同行合作,还支持与众多第三方服务集成,如代码审查工具、持续集成服务等。

总之,GitLab、Gitee 和 GitHub 均为优秀的代码托管平台,适用于不同需求和场景,选择取决于团队规模、项目需求和个人偏好。

外网使用Gitlab遇到的问题

在当前的企业网络架构下,运维人员将 GitLab 服务器部署于总部机房。然而,这种部署方式导致出现了一个问题:分公司开发人员由于地理位置和网络拓扑的限制,无法直接访问位于总部机房的 GitLab 服务器;

同时,出差在外的运维人员,因所处网络环境与总部机房网络之间缺乏有效连通,也无法顺利访问该服务器,这在一定程度上影响了开发工作的协同性和运维工作的及时性。

方案特点

遇到这种情况,我们可以使用 ZeroNews,无需公网IP即可实现 Gitlab 服务器公网访问

  • 远程传输端到端加密保障访问安全
  • 对网络无要求无需公网IP
  • 不需要在路由器防火墙端口映射
  • 隧道稳定且流畅,私钥支持100%自持

实操演示

今天我们介绍如何在 CentOS 7 系统上以容器方式部署 GitLab,并演示如何使用 ZeroNews 通过互联网访问 GitLab 私有仓库,进行代码版本发布与更新。

① 部署 GitLab 容器

在开始部署 GitLab 容器之前,您需要创建本地目录来存储 GitLab 数据、配置和日志:

#创建本地目录
mkdir -p /opt/docker/gitlab/data
mkdir -p /opt/docker/gitlab/config
mkdir -p /opt/docker/gitlab/log#gitlab 端口号映射:
80:80
2222:22#运行 gitlab 容器docker run -d --restart=always --name=gitlab -p 80:80 -p 2222:22 -v /opt/docker/gitlab/data:/var/opt/gitlab -v /opt/docker/gitlab/config:/etc/gitlab -v /opt/docker/gitlab:/var/log/gitlab -v /etc/localtime:/etc/localtime gitlab/gitlab-ce:latest#查看root 密码
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

查看创建好 GitLab 容器,确保 GitLab 容器已成功运行,然后继续下一步。

② Agent 部署

在服务器安装并绑定 Agent(客户端)

③ 为 gitlab 分配 ZeroNews 公网域名

在 ZeroNews 云端控制台配置域名端口,勾选HTTPS协议。

④ 为 gitlab 添加公网映射

进入“映射”页面,选择及填写对应的信息完成映射配置。

确认信息无误后点击「确认」,系统将自动生成 HTTPS 外网访问地址,这个地址是外网连接Gitlab服务器的访问地址。

⑤ 配置 GitLab 的 git clone HTTPS 地址

点击 GitLab 映射的访问地址后面的打开小图标,自动在浏览器中打开 GitLab 管理平台,输入用户名和密码登录。

在 "Visibility and Access Controls" 部分,将 GitLab 的公网域名地址填入 "Custom Git clone URL for HTTP(S)"。

⑥ GitLab 测试 Projects

创建 GitLab 测试 Projects

创建 tc , 步骤如下:

查看 创建好的 tc project

进入到 tc project,查看 Git Clone 地址

⑦ 从客户端 Git Clone 和版本控制

1. 从客户端进行 Git Clone:

在能够访问互联网的 Linux 系统上,使用以下命令进行 Git Clone:

git clone https://gitlab.ny.takin.cc/root/tc.git

2. 使用 SourceTree 进行版本控制:

打开 SourceTree,点击 "新增 - Clone",根据提示输入 GitLab 的账户和密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93916.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32F103C8T6控制A4988模块驱动2相4线步进电机

文章目录一、A4988模块简介二、A4988引脚说明三、A4988的Vref电压调节四、STM32F103C8T6控制A4988驱动2相4线步进电机准备工作引脚接线代码示例效果展示五、A4988电机驱动板常见问题一、A4988模块简介 A4988 是一款功能齐全的微步进电机驱动器,内置转换器&#xff0…

基于单片机智能晾衣架/智能窗户/智能窗帘设计

传送门 👉👉👉👉其他作品题目速选一览表 👉👉👉👉其他作品题目功能速览 概述 智能晾衣架系统基于单片机设计,融合传感器技术与物联网功能,实现衣物的自…

Python爬虫实战:研究dark-fantasy,构建奇幻文学数据采集分析系统

1. 引言 1.1 研究背景 奇幻文学作为奇幻文学的重要子类别,融合了哥特式元素与传统奇幻设定,以其对人性的深刻探索和复杂的道德困境构建,成为当代文学研究的重要对象。与传统奇幻文学强调英雄主义和光明战胜黑暗的叙事不同,奇幻往往展现道德边界、复杂的角色动机和充满不确…

算法提升树形数据结构-(线段树)

今天介绍有关线段树的相关部分的知识,线段树是树的数据结构中十分重要的算法处理思想。1.建立初始树的条件2.基本框架3.区间修改的相关代码4.区间查询的代码题目描述给定一个长度为 N 的数组 a,其初值分别为 a1​,a2​,...,aN​。现有 Q 个操作&#xff…

java-代码随想录第十四天| 二叉树层序遍历相关题目

目录 102.二叉树的层序遍历 107.二叉树的层次遍历II 199.二叉树的右视图 637.二叉树的层平均值 429.N叉树的层序遍历 515.在每个树行中找最大值 116.填充每个节点的下一个右侧节点指针 117.填充每个节点的下一个右侧节点指针II 104.二叉树的最大深度 111.二叉树的最小…

C++智能指针详解:告别内存泄漏,拥抱安全高效

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C:由浅入深篇 小新的主页:编程版小新-CSDN博客 引言:为什么引入智能指针&#…

算法训练营day57 图论⑦ prim算法精讲、kruskal算法精讲

两种最小生成树算法讲解 prim算法精讲 卡码网53. 寻宝 本题题目内容为最短连接,是最小生成树的模板题,那么我们来讲一讲最小生成树。最小生成树可以使用prim算法也可以使用kruskal算法计算出来。本篇我们先讲解prim算法。 最小生成树是所有节点的最小连…

148-基于Python的2024物流年度销售收入数据可视化分析系统

基于Python Django的物流数据可视化分析系统开发实录 项目背景 随着物流行业数据量的激增,企业对数据分析和可视化的需求日益增长。传统的Excel分析方式难以满足多维度、实时、交互式的数据洞察需求。为此,我们开发了一个基于Python Django的物流年度销售…

Python中的关键字参数:灵活与可读性的完美结合(Effective Python 第23条)

在Python编程中,函数参数的传递方式灵活多样,而其中一种特别强大的方式就是关键字参数。关键字参数不仅能够提升代码的可读性,还为函数的设计和调用提供了极大的便利。本文将深入探讨关键字参数的用法、优势以及实际应用中的注意事项。 一、关…

005.Redis 主从复制架构

主从复制概念与原理 核心概念 主节点(Master):唯一接受写操作的节点,数据修改后异步复制到从节点。 从节点(Replica):复制主节点数据的节点,默认只读(可配置为可写但不…

Android Studio 模拟器 “******“ has terminated 问题

问题:Android Studio 模拟器 "**" has terminated 问题设备信息:CPU:I5 7500U RAM:64GB System:Windows 10 64位解决: 网上所有办法都尝试后仍然不可行可尝试如下办法:1、此电脑→管理→设备管理→显示适配器→右击→…

uniapp 懒加载图片

实现的功能 1.一次性获取图片。 2.按用户视野范围内看到的图片滚动下来进行懒加载,提高浏览器性能。 3.不要一次性加载全部的图片 1.给父组件绑定一个滚动监听 1.页面路径:/pages/Home/index.vue 不在一个页面的话用 EventBus去触发。@scroll="handleScroll2" Ev…

Android - 资源类型 MINE Type

一、概念MINE(Multipurpose Internet Mail Extensions)最初是为了标识电子邮件附件的类型,在 HTML 中使用 content-type 属性表示,描述了文件类型的互联网标准。格式:媒体类型/子类型,可使用通配符*。如 au…

php8.+ 新函数总结

PHP系统函数是PHP核心提供的内置函数,用于执行常见任务,如字符串操作、数组处理、数学运算等。它们通过预定义代码块封装了特定功能,开发者可直接调用而无需重复编写代码。 而 PHP 8.0以后又新增了一些实用函数,今天总结部分常见的…

Qt事件处理机制详解

一、事件处理基本流程在Qt中,所有从QObject派生的类都能处理事件。事件处理的核心流程如下:事件入口函数:bool QObject::event(QEvent *e)参数e包含事件信息,通过e->type()获取事件类型返回值true表示事件已被处理,…

Zynq中级开发七项必修课-第三课:S_AXI_GP0 主动访问 PS 地址空间

Zynq中级开发七项必修课-第三课:S_AXI_GP0 主动访问 PS 地址空间 目标1.0 编写 AXI-Lite Master:按键计数 → 写入 PS 内存1.1 PL 触发中断 → PS 响应并串口打印按键计数值BD图axi_lite_master.v // // AXI4-Lite Simple Master (single-shot, non-pip…

CVPR | 2025 | MAP:通过掩码自回归预训练释放混合 Mamba - Transformer 视觉骨干网络的潜力

文章目录CVPR | 2025 | MAP:通过掩码自回归预训练释放混合 Mamba - Transformer 视觉骨干网络的潜力创新点初步研究初步结论方法确定一个混合网络方法掩码机制掩码比例MAP的transformer解码器重建目标实验ImageNet-1k 上的 2D 分类CVPR | 2025 | MAP:通过…

Spring Boot + Spring AI 最小可运行 Demo

一. 项目依赖&#xff08;pom.xml&#xff09;<project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/mav…

AI重塑校园教育:中小学AI智慧课堂定制方案+AI作业批改减负,告别一刀切学生进步快

家长们&#xff0c;你有没有听过孩子抱怨上学的烦恼&#xff1f;课堂上老师讲的内容&#xff0c;有的同学觉得太简单 “吃不饱”&#xff0c;有的却跟不上 “听不懂”&#xff1b;放学后作业堆成山&#xff0c;老师要熬夜批改到半夜&#xff0c;错题反馈要等第二天才能拿到&…

旧物循环,交易新生——旧物回收二手交易小程序,引领绿色消费新风尚

在资源日益紧张、环境污染问题日益突出的今天&#xff0c;绿色消费已经成为时代发展的必然趋势。旧物回收二手交易小程序&#xff0c;作为绿色消费的重要载体&#xff0c;正以其独特的优势和魅力&#xff0c;引领着一场关于旧物循环、交易新生的绿色革命。一、旧物循环&#xf…