Gitlab(1)- 簡單介紹


什么是 Gitlab

  • 一個開源分布式版本控制系統
  • 開發語言:Ruby
  • 功能:管理項目源代碼、版本控制、代碼復用與查找、權限管控

 

Git 家族成員

  • Git:是一種版本控制系統,是一個命令,是一種工具
  • Gitlib:是用於實現 Git 功能的開發庫
  • Github:是一個基於 Git 實現的在線代碼托管倉庫,包含一個網站界面,向互聯網開放
  • GitLab:是一個基於 Git 實現的在線代碼倉庫托管軟件,你可以用 Github 自己搭建一個類似於 Github 一樣的系統,一般用於在企業、學校等內部網絡搭建 git 私服

 

GitLab 和 GitHub 的不同

Github

  • Github 分布式在線代碼代碼托管倉庫
  • 個人版本可以直接在線(Web)免費試用,企業版本收費且需要服務器安裝

 

Gitlab

  • 分布式在線代碼倉庫托管軟件
  • 分社區免費版和企業收費版,都需要服務器安裝
  • 中小公司可以直接使用社區版來管理、保存公司項目代碼,不需要使用 Github 直接將私密代碼暴露在公網上

 

Gitlab 優勢

  • 開源免費,適合中小型公司將代碼放置在系統中,社區版目前提供的功能完全能滿足中小型公司的日常使用,如果想升級為收費版也可以無縫對接
  • 差異化的版本管理,任何微小的變動都會被記錄下來
  • 離線同步,不依賴網絡通信,可以將本地的所有 Git 操作在有網絡的時候同步到 Gitlab 倉庫中
  • 強大分支管理功能,可以針對不同的環境、不同的業務邏輯創建獨立的分支,然后進行並行獨立的維護和更新
  • GUI 操作界面
  • 強大賬戶權限管理,不同賬戶的權限各不相同,不存在越權的情況
  • 集成度很高,能夠集成絕大多數的開發工具,比如 JIRA
  • 支持內置 HA,保證在高並發下仍然可以高可用性,無需搭建第三方高可用服務,保證用戶在 7*24 小時均能使用

 

Gitlab 主要服務構成

  • Nginx 靜態 Web 服務器:proxy 代理,處理所有 HTTPS 靜態訪問請求
  • Gitlab-workhorse 輕量級的反向代理服務器:處理一些較大的文件上傳下載,以及我們經常使用的 git push 命令行操作
  • Gitlab-shell:用戶處理 Git 命令和修改 authorized keys 列表(ssh 公鑰列表)
  • Logrotate:日志文件管理工具,負責Gitlab 日志切割、打包等操作
  • Postgresql:數據庫,保存所有 Gitlab 數據信息
  • Redis:緩存服務器,緩存數據庫信息

 

Gitlab 簡單工作流程

  1. 創建並克隆項目
  2. 創建項目某 Feature 分支
  3. 編寫代碼並提交至該分支
  4. 推送該項目分支到遠程 Gitlab 服務器
  5. 進行代碼檢查並提交 Master 主分支合並申請
  6. 項目主管審查代碼並確認合並申請

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM