使用GitLab做代碼版本控制
先決條件:
- 安裝 Gitlab
設置為中文
默認情況,GitLab 使用英文界面,使用下述方法設置為中文(只是大部分漢化)
- 點擊右上角的頭像
- 點擊 Sttings
- 下拉找到
Preferred language
- 選擇
簡體中文
群組
為每個研發團隊建立一個群組,如某一組微服務的守護者團隊
- 在 GitLab 主頁頭部導航欄點擊,在點擊瀏覽群組
- 點擊新建群組,Group 設置為 Internal
- 點擊進群組然后點擊成員
- 為代碼審核和發布權限的人設置
Maintainer
權限,為開發者設置Developer
權限
項目
- 點進某個群組,點擊
新建項目
- 設置項目名稱
- 創建完成后進入項目
- 右邊導航欄點擊
設置-倉庫
- 展開
Protected Tags
- 輸入 * ,並點擊 Create wildcard
*
- Allowed to create 設置為
Maintainers
(取決於團隊是否允許審核代碼的人發布代碼)
需要管理員賬號設置權限限制,將所有的項目和群組公開級別都禁止為public
擴展設置
如果需要為項目配置持續交付能力,按照下述步驟設置自動的主動推送模式CI觸發
- 點擊
設置-集成
- 在
Project services
中找到JetBrains TeamCity CI
- 勾選
Active
,設置 TeamCity 的地址,CI的build id,Teamcity的用戶名密碼
推薦使用TeamCity的管理員賬號密碼
盡管不設置,不會影響到CI觸發,但是設置后會提升 TeamCity 的性能和時效性
參照 在團隊中使用TeamCity+Gitlab實現持續交付工作流
開發工作流
創建議題
當需求確認后/或線上出現bug錯誤,需要開發人員創建對應的議題進行開發和修復
- 進入項目主頁
- 在右側導航欄點擊議題
- 點擊
New issue
- 填寫標題和描述
- Assignee指定給需求開發負責人/開發者
- 設置截止日期、標記(如需求/bug/代碼優化)
- 如果需要設置季度里程碑則設置,大部分情況下不需要設置
創建需求分支
- 打開議題
- 點擊
Create merge request
旁邊的小箭頭 - 編輯分支名稱,如 feature/xxx 、 hotfix/xxx
- 點擊創建合並請求
切換分支開發並審核代碼
- 使用Git客戶端工具切換到創建好的分支,並持續提交代碼
- 項目審核人在對應的合並請求中可以查看提交記錄,並在提交記錄中查看和評審代碼
部署
- 運維使用 refs/merge-requests/{merge-request-id}/head 規格來拉取對應的需求分支
- 將該分支代碼編譯並發布到測試環境
- 測試驗收完成后,項目負責人創建基於當前分支的Tag,如 20190101-UAT
- 運維使用 refs/tags/20190101-UAT 拉取代碼並編譯發布到預發布環境
- 預發布環境驗收完成,項目負責人進入合並請求界面,點擊
Merge
- 基於master分支創建Tag,如 20190101-PROD
- 運維使用 refs/tags/20190101-PROD 發布代碼到生產環境
注:上述流程中的測試環境和預發布都是需求維度的相互隔離,取決於你的項目背景,如果所有的需求都在同一個仿真環境,需要創建一個中間的臨時分支,將2個需求的代碼合並到該分支,之后基於臨時分支創建Tag