一.GitLab介紹
1.什麼是GitLab
- GitLab是一個開源分佈式版本控制系統
- 開發語言:Ruby
- 功能:管理項目源代碼、版本控制、代碼複用與查找
2.Gitlab與Github的不同
- Github分佈式在線代碼託管倉庫,個人版本可直接在線免費試用,企業版本收費且需要服務器安裝
- Gitlab分佈式在線代碼倉庫託管軟件,分社區免費版本與企業收費版本,都需要服務器安裝
3.Gitlab的優勢與應用場景
- 開源免費,適合中小型公司將代碼放置在該系統中
- 差異化的版本管理,離線同步以及強大分支管理功能
- 便捷的GUI操作頁面以及強大賬戶權限管理功能
- 集成度很高,能夠集成絕大多數的開發工具
- 支持內置HA,保證在高併發下仍舊實現高可用性
4.Gitlab主要服務構成
- Nginx靜態Web服務器作爲Gitlab proxy代理,處理https訪問請求
- Gitlab-workhorse輕量級的反向代理服務器處理較大文件上傳和下載,以及git push等命令操作
- Gitlab-shell用於處理Git命令和修改authorized keys列表(存放ssh key公鑰文件列表)
- Logrotate日誌文件管理工具處理日誌的切割打包等操作
- Postgresql數據庫作爲Gitlab推薦數據庫保存所有Gitlab的信息
- Redis緩存服務器,緩存數據庫信息,加速前臺訪問速度以及數據的交互讀寫
二.GitLab工作流程
1.Gitlab工作流程
- 創建並克隆項目
- 創建項目某feature分支
- 編寫代碼並提交至該分支
- 推送該項目分支至遠程Gitlab服務器
- 進行代碼檢查並提交Master主分支合併申請
- 項目領導審查代碼並確認合併申請
三.GitLab的應用
1.使用GitLab正常服務
- 直接註冊即可,創建項目可以設置對應的members等等
2.搭建GitLab服務器
- 搭建流程省略…
- 若搭建了GitLab服務器,則可以看到對應服務器的信息以及創建新的User設置對應權限(給創建的User設置對應的項目members)等等