【反哺開源】我們計劃把“這個”商業化功能貢獻給Apache DolphinScheduler

今年,白鯨開源計劃將Gitops功能反饋貢獻給Apache DolphinScheduler社區,這個功能主要解決了開發、生產環境的同步問題。

file

在沒有這個功能之前,我們只能通過導入導出的方式,以 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操作流程

file

產品設計流程 

file

白鯨開源已在內部實現了GitOps與Apache DolphinScheduler的深度集成,通過簡化的配置,用戶可以輕鬆實現開發與生產環境的快速同步。此功能的引入不僅提升了環境部署的效率,也加強了系統的安全性和可追溯性。

展望未來,白鯨開源科技在2024年計劃將這一功能貢獻給Apache DolphinScheduler社區,以期爲更廣泛的用戶解決環境同步的挑戰,推動社區的技術發展和創新。我們相信,通過社區的共同努力,可以不斷優化和完善工作流調度和管理,爲用戶提供更加高效、可靠的解決方案。

本文由 白鯨開源科技 提供發佈支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章