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 的賬戶和密碼。