连接内网 GitLab 私有仓库
本文介绍如何在 CentOS 7 系统上以容器方式部署 GitLab,并演示如何使用 ZeroNews 通过互联网访问 GitLab 私有仓库,进行代码版本发布与更新。
先决条件
- 拥有一个有效的 ZeroNews 账户。
第 1 步: 部署 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 容器已成功运行,然后继续下一步。
第 2 步:生成 ZeroNews 客户端所需的 Token
- 用户登录 ZeroNews 平台,在设备菜单的 Token 页面生成 Token。生成完毕后,复制生成的 Token 备用。
第 3 步:运行 ZeroNews 客户端
参考 Linux 中运行 ZeroNews , 在 Linux 服务器上运行 ZeroNews,绑定 Token, 完成 ZeorNews 客户端上线。
第 4 步:为 gitlab 分配 ZeroNews 公网域名
- 添加用于 gitlab 流媒体访问的公网域名
用户登录 ZeroNews 平台,在 "资源" 的 "域名" 管理页面, 点击 "添加域名" 添加公网可访问的域名。
- 生效设备: 选择对应的 linux ZeroNews 设备。
- 域名前缀: 用户输入定义的 域名前缀,如 gitlab
- 为 gitlab 启动 TLS证书功能, ZeroNews 自动为 gitlab 域名分配 TLS 证书
第 5 步: 为 gitlab 添加公网映射
- 进入"应用"页面,点击 "添加应用" 添加 gitlab 应用。
- 应用名称: 如输入 gitlab
- 应用添加完成后, 在应用的下拉列表中,添加 gitlab HTTPS 站点映射
- 映射协议:选择 HTTPS 协议
- 公网访问地址:选择 gitlab 的域名地址,gitlab.south.takin.cc
- 映射带宽: 为 gitlab 分配带宽,不大于用户当前的最大可用带宽
- 内网映射地址:内网IP地址默认输入
127.0.0.1
内网端口输入 gitlab 容器映射的端口号80
gitlab 映射添加完成后,可在应用详情中可查看添加好的映射列表。
第 6 步:配置 GitLab 的 git clone HTTPS 地址
点击 GitLab 映射的访问地址后面的打开小图标,自动在浏览器中打开 GitLab 管理平台,输入用户名和密码登录。
进入 "Admin Area" > "Settings - General"。
在 "Visibility and Access Controls" 部分,将 GitLab 的公网域名地址填入 "Custom Git clone URL for HTTP(S)"。
第 7 步: GitLab 测试 Projects
创建 GitLab 测试 Projects
创建 tc , 步骤如下:
查看 创建好的 tc project
进入到 tc project,查看 Git Clone 地址
第 8 步:从客户端 Git Clone 和版本控制
- 从客户端进行 Git Clone:
在能够访问互联网的 Linux 系统上,使用以下命令进行 Git Clone:
git clone https://gitlab.test.takin.cc/root/tc.git
- 使用 SourceTree 进行版本控制**:
打开 SourceTree,点击 "新增 - Clone",根据提示输入 GitLab 的账户和密码。