今年,白鯨開源計劃將Gitops功能反饋貢獻給Apache DolphinScheduler社區,這個功能主要解決了開發、生產環境的同步問題。
在沒有這個功能之前,我們只能通過導入導出的方式,以 JSON 文件作爲媒介將開發環境的內容同步到生產環境,這個方式會面臨兩個問題。
- 需要手動、或者自定義自動化腳本處理:Apache DolphinScheduler沒有提供開箱即用的同步兩個環境的方法,只能依靠用戶手動的導入導出。或者用戶需要自定義自動化腳本,將開發環境的內容同步到生產
- 不支持跨項目導出:JSON導入導出是在項目維度下進行的,跨項目的導入導出不支持,意味着如果有多個項目的環境,需要進行多次操作
白鯨開源發現這個功能的優化點,分析調研後發現GitOps是解決這個問題的可能方案,所以我們在內部實現了GitOps用來同步開發生產環境,從而實現工作流部署。
什麼是 Git Ops?
GitOps 是一種基於版本控制系統(通常是Git)的持續交付(Continuous Delivery)和基礎設施管理的方法。
它的核心理念是將整個系統的狀態和配置存儲在版本控制庫中,通過Git的特性實現對系統的自動化管理和持續交付。以下是GitOps的一些關鍵特點和優勢:
- Infrastructure as Code: GitOps強調使用代碼來描述和管理基礎設施。通過在版本控制庫中存儲基礎設施代碼,可以輕鬆地重建、複製和修改整個環境。
- 聲明性配置: 使用聲明性配置,定義系統的期望狀態而非詳細的執行步驟。這樣,GitOps系統可以自動比對實際狀態與期望狀態,並進行調整以使其一致。
- 自動化: GitOps強調自動化,通過Git中的提交和合並觸發自動化流程,減少人工干預,提高可靠性和可重複性。
- 版本控制: 使用版本控制系統進行配置管理,提供了可追溯性和回滾能力。每個系統變更都通過Git提交,使得可以輕鬆回溯到先前的配置狀態。
- 觀察和監控: GitOps系統通常具備觀察和監控的能力,通過實時監測Git倉庫的變更來驅動持續交付流程。
我們計劃做什麼?
我們在配置中心實現了GitOps和Apache DolphinScheduler的集成,用戶僅需要在配置中心配置了Git供應商的鏈接,系統中集成了Commit提交、分支推送、以及部署的功能。
簡單的講就是用戶可以通過點擊圖形化界面中的一個按鈕,實現生產環境到開發環境的部署.
Git操作流程
產品設計流程
白鯨開源已在內部實現了GitOps與Apache DolphinScheduler的深度集成,通過簡化的配置,用戶可以輕鬆實現開發與生產環境的快速同步。此功能的引入不僅提升了環境部署的效率,也加強了系統的安全性和可追溯性。
展望未來,白鯨開源科技在2024年計劃將這一功能貢獻給Apache DolphinScheduler社區,以期爲更廣泛的用戶解決環境同步的挑戰,推動社區的技術發展和創新。我們相信,通過社區的共同努力,可以不斷優化和完善工作流調度和管理,爲用戶提供更加高效、可靠的解決方案。
本文由 白鯨開源科技 提供發佈支持!