全部產品
Search
文件中心

Realtime Compute for Apache Flink:Git整合(公測中)

更新時間:Oct 21, 2025

Flink控制台支援與遠程Git倉庫(如GitHub、GitLab或Gitee)整合。您可以通過Realtime Compute開發控制台推送作業草稿和檔案夾到遠端Git倉庫,或從遠端拉取代碼進行作業開發與部署。該功能適用於業務上雲、協同開發、代碼管理、品質保障、風險控制、災備及合規管理等多情境。本文將詳細介紹如何在Realtime Compute開發控制台上整合Git,並完成代碼的拉取與推送操作。

使用情境

類別

使用情境

操作建議

遷移上雲

將本地Flink SQL代碼通過Git直接推送到雲端叢集(如阿里雲Realtime ComputeFlink版),減少手動匯出及匯入配置的繁瑣操作。

  • 在Realtime Compute開發控制台進行一次拉取後,後續代碼開發可直接在Realtime Compute控制台上完成。

  • 上雲後僅執行拉取動作,Git中的檔案不會被修改。

協同開發與代碼管理

  • 團隊協作與共用:團隊成員通過Git倉程式庫共用作業草稿和代碼,確保開發基礎一致,利用Git記錄修改歷史。

  • 分支管理與功能迭代:基於Git分支建立獨立開發分支(如feature/xxx),支援並行開發與Bug修複,測試通過後合并至主分支。

  • 所有SQL修改需通過Git提交,Realtime Compute開發控制台僅用於拉取和驗證。

  • 使用Git分支管理功能迭代,確保主分支的穩定性。

品質保障與風險控制

  • 代碼審查與驗證:合并前通過Git PR機制發起代碼審查,審查人員可直接在Realtime Compute開發控制台拉取分支測實驗證功能正確性。

  • 歷史追溯與問題定位:結合Git提交記錄追蹤Flink作業變更,快速定位問題根源。

  • 所有SQL修改需通過Git提交,Realtime Compute開發控制台僅用於拉取和驗證。

  • 定期檢查Git提交記錄,確保變更可追溯。

災備與合規管理

  • 災難恢複與備份:Git作為遠程倉庫提供分布式備份,避免Realtime Compute開發控制台檔案誤刪除導致業務中斷。

  • 審計合規:通過Git日誌記錄誰在何時修改了作業邏輯(如敏感性資料處理規則變更),滿足合規審計要求。

  • 所有SQL修改需定期推送至Git,異常時可通過倉庫快速恢複。

  • 利用Git日誌記錄所有關鍵操作,確保符合審計要求。

前提條件

  • 已建立Flink工作空間,詳情請參見開通Realtime ComputeFlink版

  • 已建立Git倉庫(GitHub、GitLab、Gitee或雲效以及其他Git協議代碼倉庫等)或擁有遠程Git倉庫的存取權限。

  • 如果Git倉庫啟用了IP白名單,請確保已將Flink工作空間的網路地址添加到Git倉庫的允許清單中。

  • 在進行代碼倉庫綁定前,請確保開啟NAT Gateway實現Realtime ComputeFlink工作空間VPC網路和公網的連通。

注意事項

  • 作業類型:目前僅SQL作業支援與Git對接。

  • 綁定限制

    • 僅專案空間管理員(Owner)或擁有同等許可權的成員,可以配置和編輯Flink專案空間中綁定的Git倉庫資訊。

    • 每個專案空間僅支援綁定一個代碼倉庫和一個分支。若需要管理多個Git倉庫或同一個Git倉庫的多個分支,可通過建立不同專案空間來實現多分支的管理。專案空間建立方法詳情,請參見管理專案空間

  • 檔案夾層級:僅支援拉取七層以內的SQL檔案夾。如果Git中SQL檔案所在層級超過七層,則無法被拉取到Realtime Compute開發控制台中。

  • 請勿在Git系統與Realtime Compute開發控制台中並行編輯同一個檔案。若發生雙方同時修改相同檔案的情況,在Realtime Compute開發控制台執行推送或拉取時,將觸發衝突檢查,此時需要您手動解決衝突。Flink平台衝突處理機制如下。

    操作類型

    衝突處理機制

    拉取操作

    系統會自動將無衝突的更新應用到SQL草稿中,同時提示具體衝突檔案。您需手動解決衝突後方可繼續操作。

    推送操作

    1. 單擊推送更改,系統會提示您遠程倉庫存在更新,請拉取更新後再試

    2. 在拉取過程中,若發現衝突,需要您手動解決衝突後完成拉取。

    3. 衝突解決後,再次推送。

    重要

    在手動解決衝突前,由於Flink平台不支援整體復原,請備份重要資料(如將example.sql檔案複製到本地),並評估操作影響,謹慎處理以避免誤操作引發無法復原後果。

  • 當在Git上僅對JSON檔案(包含SQL草稿的配置資訊)進行操作時,Realtime Compute開發控制台的拉取行為將遵循以下規則:

    • 新增或刪除JSON檔案:Realtime Compute開發控制台不會同步增加或刪除對應的SQL草稿。

    • 修改JSON檔案:Realtime Compute開發控制台會同步更新同名SQL草稿的配置資訊。

步驟一:專案空間配置Git倉庫

  1. (可選)網路連通性檢測。

    對於GitHub或GitLab倉庫,您需要開啟NAT Gateway,確保Git倉庫和Flink工作空間之間的網路連通性,否則可能會因網路問題導致無法成功綁定Flink專案空間。網路連接詳情請參見網路連接選型如何進行網路探測?

  2. 進入Realtime Compute開發控制台。

    1. 登入Realtime Compute管理主控台

    2. 單擊目標工作空間操作列下的控制台

  3. 專案空間配置Git倉庫。

    1. 單擊頁面右上方的帳戶圖片後,單擊使用者資訊,進入專案空間列表頁面。

      image

    2. 單擊目標專案空間操作列下的Git倉庫配置

      image

    3. 填寫Git配置資訊。

      image

      配置項

      說明

      倉庫類型

      支援GitHub、GitLab和Gitee。

      倉庫URL

      完整的倉庫地址,以HTTP或HTTPS開頭且以.git結尾,且不得超過64個字元。

      使用者名稱

      Git平台的帳號使用者名稱,需要對目標倉庫有許可權。

      Personal Access Token

      存取權杖,用於身分識別驗證。

      獲得Github Token資訊詳情請參見GiHub管理個人存取權杖GitLab管理個人存取權杖

      分支

      代碼的獨立開發線,用於隔離不同功能或版本的開發。

      一個專案空間僅支援綁定一個分支。

    4. 單擊確定

      綁定後,如需切換倉庫或分支,需要在專案空間列表裡先進行解除綁定後進行配置。

      image

步驟二:進行拉取或推送操作

推送更改

將Realtime Compute開發控制台上的SQL代碼及配置資訊提交上傳到遠程Git倉庫,在提交前您可以查看差異。

  1. 資料開發 > ETL頁面單擊推送更改按鈕,

    image

  2. 填寫提交資訊後,單擊提交並推送

    變更檔案的右側會展示本次變更是新增(A)、修改(M)或刪除(D),您可以單擊對應的字母查看變更。

    image

  3. 在Git上查看推送結果檔案內容。

    image

    推送過來的Git上的檔案說明詳情如下。

    變更類型

    說明

    Git檔案變更圖示

    新增

    一個SQL草稿推送到Git後會有2個同名不同類型檔案:

    • 檔案名稱.sql:sql代碼。

    • 檔案名稱.json:SQL草稿的配置資訊。包括作業名稱、作業草稿ID、流批屬性和引擎版本號碼。

    image

    更新

    僅更新對應的SQL代碼或SQL草稿配置資訊。

    • 修改SQL

      image

    • 修改引擎版本

      image

拉取更改

將Git倉庫上的SQL資訊拉取到Realtime Compute開發控制台。

  1. 資料開發 > ETL頁面單擊同步更改按鈕。

    同步更改按鈕右側提會顯示最後一次同步的時間。如果不是最新時間,您可以單擊同步更改按鈕。

    image

    如果Git有更新,會在拉取按鈕旁邊提示遠程有更新image

  2. 資料開發 > ETL頁面,單擊拉取更改按鈕。

    • 如果沒有衝突檔案,您可以直接按照步驟4查看拉取過來的檔案。

    • 如果有衝突檔案,您需要按照步驟3的操作指引先解決衝突。

      image

  3. 【可選】如果系統提示存在衝突,請手動解決衝突,否則可跳過此步驟。

    當Realtime Compute開發控制台與遠端Git同時修改了同一檔案時,可能會發生內容衝突。Flink系統會將沒有衝突的檔案更新到Realtime Compute開發控制台,並提示您衝突檔案的具體資訊。此時,您需要單擊解決按鈕,根據實際情況完成衝突處理。解決完成後,請單擊已解決,然後單擊繼續以完成操作。

    重要

    在解決衝突前,由於Flink平台不支援整體復原,請備份重要資料(如將example.sql檔案複製到本地),並評估操作影響,謹慎處理以避免誤操作引發無法復原後果。

    image

    單擊解決後,進入衝突處理頁面。您可以根據實際業務需求,逐個選擇接受相應的修改內容。

    image

    按鈕

    含義

    Accept Current Change

    接受當前更改。

    Accept Incoming Change

    接受傳入更改。

    Accept Both Change

    接受雙方變更。

  4. 查看與修改拉取的SQL檔案。

    當頁面上方提示成功拉取遠程倉庫更新後,ETL草稿頁面會自動重新整理,展示拉取到的SQL草稿。

    拉取完成後,SQL草稿頁面會提示當前作業已被Git鎖定。您需要點擊解鎖,方可對作業進行修改或刪除。

    image

相關文檔