代码管理平台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 的账户和密码。