跳到主要內容 跳至補充內容

使用版本控制管理專案

您可以使用版本控制以管理資料專案的開發並追蹤變更。

資訊備註版本控制無法用於 Qlik Talend Cloud 啟動器 訂閱。

使用版本控制時,您可以在設計期間認可專案的版本。這允許您查看專案的兩個版本之間的變更。您也可以使用分支策略開發資料專案。這讓您可以在每個工作區域或分支中處理專案的隔離版本。工作區域可由多個使用者共用。然後,您可以將工作區域中的變更合併到主要分支,以部署到生產。

GitHub 作為版本控制的提供者來使用。

開始使用

  • 在 GitHub 中建立一個使用者,租用戶可以用來存取 GitHub。這可能已由管理員為您建立。

    使用者必須具有以下範圍:

    • repo

    • read:org

    • read:user

    • read:project

  • 您對計畫變更的存放庫需要有寫入權限。

  • 您必須建立 GitHub 個人存取 Token (經典)。不支援精細粒度的個人存取 Token。

    如需更多資訊,請參閱 GitHub 文件:管理您的個人存取 Token

  • 組織在 GitHub 設定中是強制性質。

  • 您在專案所在的空間中需要「可以編輯」角色,才能執行版本控制動作。

  • 在開始使用版本控制之前,您必須進行設定,以使用您建立的 GitHub 使用者連線至 GitHub。

    進行 GitHub 的設定

  • 設定與 GitHub 的連線後,您可以將專案連線至存放庫。

    將專案連線至存放庫

進行 GitHub 的設定

所有想要使用版本控制的使用者都必須進行設定,以使用 GitHub 使用者帳戶連線至 GitHub。

GitHub 連線

您可以在專案中設定 GitHub。確保您已根據 開始使用 進行準備。

  1. 按一下 ,然後按一下 GitHub 設定

  2. 使用您的組織和 開始使用 中所述的 GitHub 個人存取 Token 設定驗證。

  3. 按一下確定

資訊備註將在您的個人空間中建立 GitHub - 版本控制類型的連線。所有使用者都將擁有個人版本控制連線,因此不需要進行管理。

現在您可以將專案連線至存放庫。

將專案連線至存放庫

您必須先連線專案與存放庫,才能開始使用版本控制。確保您已設定與 GitHub 的連線。

將專案連線至版本控制。

租用戶設定期間包含區域的下拉式清單。
  1. 專案中,按一下專案上的 ...,並選取連線至版本控制

  2. 選取與專案關聯的存放庫。

  3. 新增基本目錄路徑。

    若您想要在 GitHub 中連線至現有專案,您必須使用相同的路徑。

  4. 連線後,您可以選取認可專案並將專案推送到遠端存放庫。輸入認可訊息。

    若您沒有認可和推送,將會在工作區域中建立主要分支,但不會在遠端存放庫中建立。

  5. 按一下連線

該專案現已連線至所選的存放庫。這在專案卡片的底部以 、存放庫的名稱和目前分支來指示。

當您開啟專案時,標題列現在將包含具有版本控制選項的 GitHub 功能表。專案名稱也會附加目前分支的名稱。

使用版本控制開發專案

您可以透過不同的方法使用版本控制:

  • 直接處理主要分支。這主要適合專案中想要追蹤變更的單一開發人員,但也可以由同步工作的開發人員群組使用。

  • 使用分支策略,多個開發人員可以做出貢獻。您也可以建立分支,以相互隔離新功能或變更。

簡化單一開發人員專案的工作流程

您可以直接處理專案的主要分支。這種方法更簡單,並且包含更少的操作,但仍然可以讓您追蹤變更。如果有多個開發人員,他們需要小心保持同步。

若您對要套用的專案進行變更,只需要進行認可並推送即可。

多個開發人員專案的工作流程

如果有多個開發人員在處理一個專案,或者您想要隔離變更,則可以使用此工作流程。這涉及建立一個可以與其他使用者共用的開發分支。透過此工作流程,開發人員可以追蹤彼此的變更,並決定何時將變更合併到主要分支。

多個開發人員專案的工作流程與版本控制

  1. 從主要分支建立一個新的開發分支。您可以與更多使用者共用分支。

  2. 在專案中進行所有必需的變更。

    資訊備註版本控制中不會維護資料庫結構描述和連線。
  3. 將來自另一個分支的遠端變更套用至您的工作區域,以確保您了解其他分支的最新變更。這有助於避免或減輕衝突的變更。

    如果您有兩個包含可能發生衝突之變更的分支,解決方法是:

    1. 對兩個工作區域認可變更。

    2. 將兩個分支合併到主要分支。

    3. 重新套用遠端變更。

  4. 認可您的變更並將其推送到開發分支。將會推送所有物件,因此最好在認可之前驗證您的專案。

  5. 準備好開發時,您就可以將變更從工作區域合併到主要分支。必須開啟提取請求,以在 GitHub 中將開發分支合併到主要分支。您可以設定核准分支合併到主要分支。如需更多資訊,請參閱 GitHub 提取請求文件

建立新的分支

  1. 專案中,按一下專案上的 ... 並選取建立新分支

    專案必須連線至版本控制。您也必須擁有專案目標連線所在空間的權限。

  2. 選取從主要分支建立分支。

  3. 輸入分支的名稱。

  4. 所有結構描述的分支前置詞中設定要新增至專案中所有結構描述的前置詞。這允許對所有結構描述進行唯一命名,以避免命名衝突。

  5. 按一下建立

從主要分支建立一個新分支,並從存放庫確認。此分支包含專案的新版本,其中所有任務均處於「新」狀態。也就是說,這沒有準備好,並且不包含任何資料。

套用遠端變更

您可以將遠端存放庫中的變更套用到您的工作區域。這可能是在 Qlik Cloud 整合版本控制之外建立的變更,例如在 GitHub 中或透過其他工具。若您想要認可變更並將變更推送到分支,這可以協助您避免衝突。

  1. 專案中,按一下專案上的 ... 並選取套用遠端變更

    如果發現變更,則會顯示將遠端變更套用至工作區域對話方塊。

  2. 現在您可以選取要套用變更的任務並檢查變更。對於每次變更,您可以選取要使用哪個版本:遠端版本或工作區域中的版本。

  3. 按一下套用遠端變更

如果變更包括新的資料任務,則必須新增來源連線和目標連線。

資訊備註如果您僅套用所選的任務,則必須注意保持專案的結構有效性。例如,如果您套用新的儲存任務,也必須套用來源登陸任務。手動新增登陸資料集無法運作。

認可並推送

您可以認可您的變更並將其推送到分支。由於可能會覆寫未套用於工作區域的遠端變更,因此您應該在認可和推送之前執行套用遠端變更

  1. 專案中,按一下專案上的 ... 並選取認可並推送

    如果發現變更,則會顯示認可並推送對話方塊。

  2. 新增可協助您追蹤變更內容的認可訊息。

  3. 按一下認可並推送

刪除分支

將變更合併到主要分支後,您可以刪除分支。

  1. 專案中,按一下要刪除的分支上的 ...,然後選取刪除分支

    您也可以選取在版本控制中刪除遠端分支。

    如果有未認可的變更,您在刪除分支時需要確認這些變更將會遺失。

移除專案的版本控制

您可以從版本控制中斷專案連線。如果存在現有分支,則必須先刪除,才能中斷專案連線。

  1. 專案中,在要中斷連線的專案上按一下 ...,然後選取從 GitHub 中斷連線

與其他空間或租用戶共用專案

您可以與相同租用戶的不同空間或另一個租用戶共用專案版本。若您想要建立兩個環境 (例如一個用於開發,一個用於生產),這非常實用。

  1. 建立與原始專案名稱相同的新專案。

    設定相同的使用情況和平台類型。您可以使用不同的連線。

  2. 將新專案連線至與原始專案相同的存放庫和基本目錄路徑。

    資訊備註請勿選取認可並推送選項。
  3. 如果平台連線指向與原始專案相同的目標,請確保變更資料任務的資料庫或結構描述。變更所有任務的結構描述的一種方式是,在套用遠端變更之前,變更中繼資料專案設定中的所有結構描述的前置詞。這可確保所有任務都是使用此前置詞來建立。

  4. 套用遠端變更,選取所有檔案。

  5. 為所有登陸任務新增缺漏的來源連線。

    按一下登陸任務中的選取來源資料,選取連線,然後按一下儲存

    資訊備註連線必須來自相同類型的來源,並指向與原始專案名稱相同的表格。
  6. 為所有複寫任務新增缺漏的來源和目標連線。

這會建立另一個工作區域。您可以在其中一個工作區域對專案進行變更,並使用套用遠端變更同步其他工作區域。

安全性考量

確保在 Qlik Talend Data Integration 和 GitHub 之間保持同步的安全性設定。

  • Qlik Talend Data Integration 中,權限是基於可能包含多個專案的空間。在 GitHub 中,權限是基於也可能包含多個專案的存放庫。最佳做法是對齊這些內容,並將某個空間中的所有專案連線至相同的存放庫。

  • 請記住,Qlik Talend Data Integration 和 GitHub 對使用者使用不同的權限和角色。

最佳做法

以下是使用版本控制處理專案時的一些一般最佳做法。

  • 新增描述 GitHub 中存放庫的讀我檔案。如需詳細資訊,請參閱關於讀我檔案

    如果您從一個空的存放庫開始,Qlik Talend Cloud 版本控制會自動新增一個空的 README.md 檔案。

  • 一般來說,您應該讓 Qlik Talend Cloud 版本控制管理 GitHub 存放庫。

  • 僅提交有效且經過測試可執行的專案。

    如果您新增具有尚未準備或轉換的「登陸」或「已註冊」資料任務的專案,則尚未包含來源欄。準備和轉換任務時會新增來源欄。

  • 當您為複寫專案建立分支時,您應該注意分支預設會使用相同的目標。這表示,分支中執行的任務可以覆寫主要版本的資料。為了避免資料遺失,請變更分支中的目標設定,以避免與主要版本衝突。

  • 建立分支時,可能有尚未套用至工作區域的遠端變更。請在建立分支之前或之後套用遠端變更,除非您想捨棄遠端變更。

  • 在兩個不同分支中對相同資料集進行變更可能會導致難以解決的合併衝突。

在分支中工作

您可以建立一個專案,對其進行設計,準備好後,使用 MAIN 分支將其部署到生產環境。MAIN 上的版本對應至您的生產管道。切勿在第一次部署之後直接編輯 MAIN 分支。

每當開發人員想要在專案中進行新的變更 (例如新增功能或修正錯誤) 時,都需要建立一個新分支。

開發人員可以根據自己的開發需求建立任意數量的分支。

  • 對分支使用架構前置詞以避免在進行變更時發生資料庫衝突。

  • 在分支中,開發人員可以進行任意數量的變更,並根據需要提交和推送任意次。建議將每個變更隔離在一個獨立、單獨的提交中。例如,如果您對轉換任務進行的變更也會影響資料超市,請確保在一次提交中包含這兩項變更。

  • 所有團隊成員都應隨時使用套用遠端變更來確保其 MAIN 是最新的,尤其是在提交變更之前。

當開發人員完成其分支的工作後,他們可以建立提取請求以進行同儕審查。

資訊備註目前需要先建立提取請求,然後才能使用套用遠端變更並將分支變更合併回主幹。

您可以在 GitHub 中的 Pull Requests 下建立提取請求。您必須指定要從中建立提取請求的分支。

在其他團隊成員檢閱並核准後,您可以將提取請求與 MAIN 版本合併。

最後,在專案中使用套用遠端變更將已核准的分支變更提取回 MAIN 分支 (生產)。

資訊備註所有團隊成員都應隨時使用套用遠端變更來確保其 MAIN 是最新的。

在空間中工作

對於較大且關鍵的部署,建議使用專用空間進行開發和生產,以隔離變更並確保管道完整性。對每個空間中的來源和目標使用專用資料連線。

  • MAIN 分支反映了生產中的內容。這意味著一個專案只有一個 MAIN 版本。

    生產被隔離在專用資料空間中,例如 PROD。將向生產空間指派專用連線。

    不會直接在生產空間/MAIN 分支中進行任何變更。所有變更都是使用分支在具有專用連線的其他空間中進行的。

    您可以重複使用 GitHub 中現有專案的 MAIN 版本。建立一個與 GitHub 中現有專案具有相同名稱的空白專案。這將擷取 MAIN 分支上的最新可用版本以開始編輯。

    使用者會建立一個新分支、進行變更、建立提取請求、合併,並提取回 MAIN/生產。

  • 開發人員可以將其變更隔離在專用資料空間中,例如 DEV 中。將向 DEV 空間指派專用連線。

    使用分支來隔離變更,通常每個開發人員都擁有一個分支。在建立分支時使用架構前置詞,以避免在進行變更時發生資料庫衝突。

  • 檢閱者有權存取發展空間和連線,以:

    • Qlik Talend Cloud中開啟並測試專案分支。

    • 核准提取請求以繼續在 GitHub 中進行合併。

    • 通知團隊成員何時可以將已核准的變更提取回 MAIN/生產。

將核准的變更部署回 MAIN/生產空間時,您必須將連線重新指派到生產空間連線。

限制

  • 如果存在分支,則無法使用版本控制斷開或刪除專案。必須先刪除分支,才能斷開或刪除專案。

  • 無法使用版本控制重新命名專案。

  • 刪除租用戶時,不會刪除 GitHub 中使用版本控制儲存的物件。您需要手動刪除這些物件。

  • 如果存放庫由許多專案使用,或包含許多未儲存在 Qlik Talend Data Integration 中的檔案,則效能可能會下降。

  • 版本控制中不會維護資料庫結構描述和連線。

  • 不支援 GitHub 精細粒度的個人存取 Token。

  • 即使兩個專案位於相同的存放庫,每個存放庫仍只能由一個專案使用一個分支 (主要分支除外)。

  • 無法從使用不同目標平台的專案套用遠端變更。例如,如果您向 Snowflake 上的專案認可變更,則無法將變更套用到 Databricks 專案。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!