Skip to content

GitLab

一站式 DevOps 研發維運平台

軟體分類 程式開發 / DevOps
軟體標籤
Color Chooser樂器編曲DuolingoCreative Commons Attribution-ShareAlike 2.0 license
開發廠商 GitLab Inc.
Stars
5.9k
Forks
12k
License
MIT (COMMUNITY EDITION)
Version
Update
2026-03-10
OS
kubernetes

產品說明

GitLab 是一個基於 Git 的完整 DevOps 平台。與 GitHub 不同的是,GitLab 最初就將目標設定為「單一應用程式(Single Application)」,這意味著從專案規劃、原始碼管理、持續整合/部署(CI/CD)到監控與安全掃描,所有功能都整合在同一個介面中,無需在不同的工具(如 Jira、Jenkins、Harbor)之間切換。

GitLab 分為企業版(EE)與社群版(CE)。其中 GitLab CE (Community Edition) 是完全開源免費的,企業可以將其部署在自己的私有伺服器(Self-managed)上,擁有對資料的完全掌控權。這使得它成為許多重視資安與隱私的企業、政府單位以及開源專案的首選。其內建的 GitLab CI/CD 被公認為業界最強大的自動化管線工具之一,透過 .gitlab-ci.yml 即可輕鬆定義複雜的建置流程。

核心特色:

  • 一站式平台:整合了 Issue Tracking、Git Repository、Code Review (Merge Request)、CI/CD Pipeline 與 Wiki,降低工具碎片化。
  • 強大的 CI/CD:內建 Runner 機制,支援 Docker 容器化建置,與原始碼庫深度整合,無需像 Jenkins 那樣進行繁瑣的 Webhook 設定。
  • 容器映像檔庫:內建 Container Registry,建置好的 Docker Image 可以直接推送到 GitLab 內部儲存,方便部署。
  • 細緻的權限管理:支援 LDAP/AD 整合,並能針對不同分支(Protected Branches)設定嚴格的推送與合併權限。
  • 自我託管:提供 Omnibus 安裝包與 Cloud Native Helm Charts,讓你在幾分鐘內就能架設起企業級的程式碼託管平台。

常用指令

GitLab 的管理主要分為兩個層面:系統管理員(維護伺服器)與一般開發者(使用 CLI 工具)。

系統管理 (Omnibus 安裝)

對於自我託管的管理員,gitlab-ctl 是控制整體服務的核心指令:

# 重新配置 GitLab (修改設定檔 /etc/gitlab/gitlab.rb 後必做)
sudo gitlab-ctl reconfigure

# 重新啟動所有服務 (Nginx, Puma, Sidekiq, Postgres...)
sudo gitlab-ctl restart

# 查看即時日誌 (除錯用)
sudo gitlab-ctl tail

# 建立系統備份
sudo gitlab-backup create

開發者操作 (GLAB CLI)

類似 GitHub 的 gh,GitLab 也有官方的命令列工具 glab,讓開發者能在終端機完成大部分操作:

# 複製專案
glab repo clone user/project

# 建立合併請求 (Merge Request)
glab mr create --title "Fix login bug" --description "Fixed the auth issue"

# 查看當前管線 (Pipeline) 狀態
glab pipeline status
指令 (glab)功能說明應用場景
glab auth login登入連結到你的 GitLab 實例 (支援 gitlab.com 或自架版)
glab issue list列出議題查看當前專案有哪些待解決的 Issue
glab mr list列出 MR查看有哪些待審核的程式碼合併請求
glab mr approve批准 MR審核通過別人的程式碼
glab ci view查看 CI在終端機直接查看 CI/CD 的 Log 輸出
glab release create發布版本建立新的 Release 並上傳編譯好的檔案

進階技巧

  • GitLab Runner:這是執行 CI/CD 任務的 Worker。你可以將 Runner 安裝在任何機器上(甚至是你的筆電),並註冊回 GitLab Server,讓閒置的算力協助跑測試。
    # 註冊 Runner
    gitlab-runner register --url [https://gitlab.example.com/](https://gitlab.example.com/) --registration-token <TOKEN>
    
  • Auto DevOps:GitLab 的自動化極致。若你的專案包含標準的 Dockerfile,啟用此功能後,GitLab 會自動偵測、建置、測試並部署你的應用,完全無需撰寫 CI 設定檔。

操作介面