iT邦幫忙

2024 iThome 鐵人賽

DAY 4
1
IT 管理

30天從版控到code review的實踐指南系列 第 4

Day 4. 版控流程介紹:GitLab flow

  • 分享至 

  • xImage
  •  

什麼是 GitLab Flow


GitLab Flow 結合 Git Flow 與 GitHub Flow 的優點,使用更簡單的分支結構,通常只需 Main 分支和一些與功能、修復或環境相關的分支,減少了 workflow 的複雜性。強調針對持續部署(Continuous Deployment)和持續交付(Continuous Delivery)等開發方法進行了優化。

GitLab Flow 工作流程:


  1. Main 創新的功能分支:
    • 功能分支:feature/new-login-system
    • 修復分支:fix/issue-11
  2. 在新創的功能分支進行開發,且提交 Commits
  3. 完成功能開發後,提出 Merge Request
  4. 完成 Code Review 後,合併到 Main 或環境分支(例如:StagingPre-productionProduction 等)。
  5. 持續進行部署:
    • 合併到 Production 分支:CI/CD Pipeline 可以自動部署到生產環境。
    • 合併到 Staging 分支:則可以進行預部署測試,確保新功能在正式發布前正常運作。

GitLab Flow 特色


  • 環境分支:
    • 為不同環境設置分支,這些分支與不同的部署環境有關。
    • 開發人員可以將功能分支合併到環境分支,以便進行階段性測試和部署。
  • Merge Request
    • 為 GitLab 上的合併請求,與 GitHub 上的 PR 流程相同。
    • 需要進行 Code Review 或測試,才可合併。
  • 持續集成和持續部署(CI/CD):
    • 可設定程式碼合併到特定分支時,透過 CI/CD Pipeline ,自動觸發測試與部署流程。
    • 當開發完成後,功能可以先合併到 Staging 分支進行測試,再到 Production 分支進行部署。

GitLab Flow 的優勢


  • 多環境部署:針對 Develop (Feature、fix)StagingPre-productionProduction 等不同環境進行管理,讓開發流程更貼近實際應用情境。
  • CI/CD :應用 GitLab 中的 CI/CD 工具進行自動化測試、構建和部署,提升開發效率。

GitLab Flow 版本合併示意圖


https://ithelp.ithome.com.tw/upload/images/20240918/20169483WpGjpTWtvA.png

(圖片來源:gitlab flow-workflow)

GitLab Flow 適用專案


  • 需多環境管理的專案:
    • 需在不同環境測試
    • 多開發團隊協作
  • 需要頻繁更新和快速交付成果的專案,且支持 CI/CD 自動化流程的專案。

Reference


再次祝大家烤肉節快樂,今年是土星合月🪐+超級月亮🌝,大家有去賞月嗎?🌕


上一篇
Day 3. 版控流程介紹:GitHub flow
下一篇
Day 5. 實作案例分享:工作流程、分支命名原則。
系列文
30天從版控到code review的實踐指南13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言