設定及測試 Git 連線

建立新專案時,專案只會存在於開發模式,讓您在安全環境中開發模型,不會影響其他使用者。準備好發布專案後,接下來要設定 Git 連線。

為專案設定 Git 連線後,您就能將 LookML 部署至正式模式,讓其他使用者探索資料模型、建立資訊主頁,以及在模型中新增 LookML。如要加快設定速度,請使用裸存放區。如要進行更完善的 Git 整合,請建立自己的 Git 存放區,然後按照本頁的說明將其連線至 Looker 執行個體。

將 Looker 與 Git 整合

Looker 會使用 Git 記錄變更並管理檔案版本。每個 LookML 專案都對應一個 Git 存放區。使用者處於開發模式時,會使用自己的 Git 分支。

如要管理 LookML 來源檔案,您可以設定 Looker,搭配使用任何透過 SSH 金鑰或 HTTPS 進行驗證的 Git 供應商。無論使用哪個平台,一般步驟都相同。本頁面以 GitHub 為例,說明如何將 Looker 專案連結至 Git (假設您已建立 Git 存放區)。

如要存取 Git 整合選項,請開啟開發模式

您可以使用下列其中一種通訊協定設定 Git 整合:

  • HTTPS:超文本傳輸安全通訊協定。透過 HTTPS,Looker 會使用您提供的使用者名稱和密碼 (或存取權杖) 存取 Git 存放區,詳情請參閱「透過 HTTPS 連線至 Git」。
  • SSH:安全殼層。透過 SSH,Looker 會使用您透過 Git 供應商網站產生的部署金鑰存取 Git 存放區,詳情請參閱「使用 SSH 連線至 Git」。

使用 HTTPS 連線至 Git

對於設定 HTTPS 驗證的 LookML 專案,Looker 會透過您使用 Git 供應商設定的一或多個使用者帳戶,連線至 Git 供應商。Looker 會使用使用者名稱和密碼 (或存取權杖) 登入 Git 供應商,並代表 LookML 開發人員執行 Git 作業。

如果 Git 帳戶使用雙重驗證,請前往 Git 供應商建立存取權杖,以取代密碼。請參閱這篇社群貼文,瞭解如何為常見的 Git 供應商建立個人存取權杖。

透過 HTTPS 驗證,您可以設定 LookML 專案,讓整個專案使用單一 Git 帳戶,也可以設定專案,讓開發人員使用各自的 Git 帳戶執行 Git 作業。

請注意 GitHub HTTPS 驗證的下列事項:

  • GitHub 不接受帳戶密碼,用來驗證 github.com 上的 Git 作業。詳情請參閱 GitHub 的網誌文章。如要透過 HTTPS 將 Looker 專案連結至 GitHub,請使用 GitHub 中的開發人員設定建立個人存取權杖。
  • Looker 不支援 GitHub 的精細個人存取權杖。如要使用 HTTPS 將 Looker 專案連結至 GitHub,請在建立個人存取權杖時,使用 GitHub 的「Tokens (classic)」選項。

單一帳戶 HTTPS 驗證

如果您使用單一 Git 帳戶設定 LookML 專案,Looker 會使用該 Git 帳戶登入 Git 供應商,代表開發人員提交變更。Looker 會使用開發人員的 Looker 使用者名稱進行這些提交,方便您判斷每個提交是由哪位開發人員所為。您可以在 Git 供應商的介面上查看專案的提交記錄,也可以從 Looker IDE 的 Git 選單中選取「History」選項。如要進一步瞭解 Looker 中的 Git 選單,請參閱「在 Looker 中執行 Git 指令」。

如果是單一帳戶 HTTPS 驗證,您指定的 Git 使用者帳戶必須具備 Git 存放區的讀取和寫入權限。LookML 開發人員本身不需要擁有自己的 Git 使用者帳戶。

使用使用者屬性進行多帳戶 HTTPS 驗證

如果您使用多個帳戶設定 LookML 專案,LookML 專案會使用每位 Looker 開發人員的個別 Git 帳戶執行 Git 作業。您也需要設定一個一般 Git 使用者帳戶 (至少具備讀取權限),Looker 會使用這個帳戶提取檔案的正式版。

如要使用使用者屬性進行 Git 驗證,請完成下列工作並符合相關規定:

  • 每位 LookML 開發人員都必須擁有自己的 Git 供應商使用者帳戶。每個 Git 使用者帳戶都必須具備專案存放區的讀寫權限。
  • Looker 管理員必須設定 Looker 使用者帳戶,並提供與 Git 使用者名稱和 Git 密碼 (或存取權杖,如果 Git 使用者帳戶已啟用雙重驗證) 相對應的使用者屬性
  • Git 帳戶密碼 (或存取權杖) 的使用者屬性必須隱藏。建立密碼或存取權杖屬性時,請選取「隱藏值」選項下方的「是」,並在「允許的網域清單」欄位中輸入 Git 供應商網址。
  • 每位 Looker 開發人員都必須填寫 Git 名稱和密碼 (或存取權杖) 的使用者屬性。使用者屬性可由 Looker 管理員Looker 使用者設定。

下例顯示「使用者屬性」管理頁面,其中 Looker 管理員已設定 Git 使用者名稱和使用者存取權杖的使用者屬性。

使用者屬性管理頁面上的表格,顯示字串類型的使用者屬性 github_token 和 github_username。

以下範例顯示 Looker 使用者的「帳戶」頁面,使用者已在使用者屬性欄位中輸入 Git 憑證。

設定 HTTPS Git 驗證

如要透過 HTTPS Git 驗證設定 LookML 專案,請按照下列步驟操作:

  1. 取得 Git 存放區的 HTTPS 網址。如果是 GitHub,對於新存放區 (尚未包含任何檔案的存放區),GitHub 會在初始設定期間顯示網址。請務必在「程式碼」分頁中選取「HTTPS」按鈕,取得 HTTPS 網址,然後選取「將網址複製到剪貼簿」圖示,將網址複製到剪貼簿。

    如要查看現有 GitHub 存放庫 (已包含檔案的存放庫) 的 HTTPS 網址,請前往存放庫的「Code」分頁,然後選取「Code」按鈕。請務必選取「HTTPS」連結。選取「將網址複製到剪貼簿」圖示,即可將 HTTPS 網址複製到剪貼簿。

  2. 前往 LookML 專案,然後選取導覽列中的「設定」圖示。

  3. 在「專案設定」頁面的「設定」分頁中,前往「設定 Git」按鈕 (適用於新專案),或「重設 Git 連線」按鈕 (適用於先前已連線至 Git 的現有專案)。

  4. 選取「設定 Git」或「重設 Git 連線」按鈕,開啟「設定 Git」頁面。

    重設 Git 連線時,系統會保留主要分支的 Git 記錄。此外,當 Looker 開發人員提取、合併及部署時,系統也會保留每個開發人員個人分支版本的記錄。如要保留所有分支的記錄,請參閱「遷移至新的 Git 存放區」最佳做法頁面。

  5. 在 Looker 的「Configure Git」(設定 Git) 頁面中,將 Git 存放區的 HTTPS 網址貼到「Repository URL」(存放區網址) 欄位,然後選取「Continue」(繼續)

    Looker 會偵測您的 Git 供應商,並在視窗中更新 Git 存放區的相關資訊。

    如果 Looker 無法成功偵測到 Git 供應商,系統會要求您從下拉式選單中選擇。

  6. 選取 Git 登入選項:

  7. 在「Username」和「Password」/「Personal Access Token」欄位中,輸入 LookML 專案用來存取 Git 的憑證。無論 Git 登入設定為何,都必須執行這項操作:

    • 如果您選取「使用單一常數使用者名稱和密碼/個人存取權杖組合」,這就是 Looker 執行個體將用於所有 Git 作業的 Git 使用者名稱和密碼 (或存取權杖)。這個 Git 使用者帳戶必須具備 Git 存放區的讀寫權限。
    • 如果您選取「Use user attributes for username and password/personal access token」(使用使用者屬性做為使用者名稱和密碼/個人存取權杖),這就是 Looker 執行個體用來提取存放區正式版的 Git 使用者名稱和密碼 (或存取權杖)。這個 Git 使用者帳戶必須至少具備 Git 存放區的讀取權限。

    如果 Git 帳戶使用雙重驗證,或是您使用 GitHub (需要個人存取權杖而非密碼),可以前往 Git 供應商建立存取權杖,取代密碼。請參閱這篇社群貼文 ,瞭解如何為常見的 Git 供應商建立個人存取權杖。

  8. 如果您選取「Use user attributes for username and password/personal access token」(使用使用者屬性做為使用者名稱和密碼/個人存取權杖),Looker 會在「Development Mode Credentials」(開發模式憑證) 區段中顯示「Username User Attribute」(使用者名稱使用者屬性) 和「Personal Access Token User Attribute」(個人存取權杖使用者屬性) 下拉式選單。使用下拉式選單,為個別開發人員的 Git 憑證選取使用者屬性

    (Looker 使用者可以在「帳戶」頁面編輯使用者屬性欄位的值,Looker 管理員則可以在「使用者」管理頁面編輯使用者的屬性值)。

  9. 選取「繼續設定」按鈕。

現在已為 LookML 專案設定 Git。您可以在這裡驗證 LookML,然後建立初始提交並部署至正式版,讓專案在正式版模式中可用。您也可以:

使用 SSH 連線至 Git

使用 SSH 驗證時,您需要為 Git 供應商建立部署金鑰。Looker 會產生 SSH 金鑰組,並在 UI 中顯示公開金鑰,如步驟 4 所示。Looker 會使用該部署金鑰登入 Git 供應商,代表 Looker 開發人員提交變更。Looker 會使用開發人員的 Looker 使用者名稱進行提交,因此您可以判斷每個提交是由哪位開發人員所為。您可以在 Git 供應商的介面上查看專案的提交記錄,也可以從 Looker IDE 的 Git 選單中選取「History」選項。如要進一步瞭解 Looker 中的 Git 選單,請參閱「在 Looker 中執行 Git 指令 」。

如要透過 SSH Git 驗證設定 LookML 專案,請按照下列步驟操作:

  1. 開啟專案建立新的 LookML 專案
  2. 在專案中,選取左側圖示選單中的「設定」圖示,開啟「專案設定」頁面。
  3. 在「Project Configuration」頁面中,執行下列任一動作,開啟「Configure Git」頁面:

    • 如果專案沒有 Git 連線,請選取「設定 Git」按鈕。
    • 如果專案已設定 Git 連線,請選取「重設 Git 連線」按鈕。

    重設 Git 連線時,系統會保留主要分支的 Git 記錄。此外,當 Looker 開發人員提取、合併及部署時,系統也會保留每個開發人員個人分支版本的記錄。如要保留所有分支的記錄,請參閱「遷移至新的 Git 存放區」最佳做法頁面。

    這張圖表顯示從「專案設定」頁面到「設定 Git」頁面的進展。新專案會顯示「設定 Git」按鈕,現有專案則會顯示「重設 Git Connect」按鈕,但這兩個按鈕都會連往「設定 Git」頁面。

  4. 取得 Git 存放區的 SSH 網址。以下是常見 Git 供應商的格式:

    • GitHub:git@github.com:<organization-name>/<repository-name>.git
    • GitHub Enterprise:git@example.com:<organization-name>/<repository-name>.git
    • Cloud Source Repositoriesssh://username@example.com@source.developers.google.com:2022/p/<project-id>/r/<repository-name>
    • GitLab:git@gitlab.com:<organization-name>/<repository-name>.git
    • Bitbucketgit@bitbucket.org:<organization-name>/<repository-name>.git
    • Phabricatorssh://username@example.com/diffusion/MYCALLSIGN/<repository-name>.git

    如果是 GitHub,對於新存放區 (尚未包含任何檔案的存放區),GitHub 會在「Code」分頁中顯示 SSH 網址,做為初始設定的一部分。請務必選取「SSH」SSH按鈕,取得 SSH 網址,然後選取剪貼簿圖示,將網址複製到剪貼簿。

    如要查看現有 GitHub 存放區 (已包含檔案的存放區) 的 SSH 網址,請前往存放區的「Code」分頁,然後選取「Code」按鈕。請務必選取「使用 SSH」連結。選取剪貼簿圖示即可複製到剪貼簿。

  5. 在 Looker 的「Configure Git」(設定 Git) 頁面中,將 Git 存放區的 SSH 網址貼到「Repository URL」(存放區網址) 欄位,然後選取「Continue」(繼續)

    如要搭配 Looker 使用含有自訂或非標準 Git 連接埠的網址,請在 Git 網址中加入非標準連接埠號碼。例如:ssh://git@corporate.git.server.com:22/myorganization/myproject.git

    您必須加入 ssh://,才能正常運作。

  6. Looker 會偵測到您的 Git 供應商,並顯示存放區的部署金鑰。(如果 Looker 無法成功偵測到 Git 供應商,系統會提示您從下拉式選單中選擇。將部署金鑰複製到剪貼簿,然後選取「Deploy Key settings for your repository」(存放區的部署金鑰設定) 連結,開啟 GitHub 存放區的「Deploy keys」(部署金鑰) 頁面。

  7. 在 GitHub 的「Settings」分頁標籤中,選取「Deploy keys」頁面的「Add deploy key」按鈕:

    GitHub 會顯示「Deploy keys / Add new」(部署金鑰/新增) 頁面

  8. 新增部署金鑰的標題。名稱並不重要,但建議您加入「Looker」和專案名稱,方便日後追蹤。

  9. 貼上從 Looker 複製的部署金鑰。

  10. 選取「允許寫入存取權」選項。

  11. 選取「新增金鑰」按鈕。(此時,Git 供應商可能會提示您輸入密碼。如果需要,請輸入密碼,然後選取「確認密碼」

  12. GitHub 會顯示已為存放區新增的所有部署金鑰。

  13. 返回 Looker 視窗,然後在「設定 Git」頁面中,選取「測試並完成設定」

您可以在這裡再次嘗試設定部署金鑰,也可以選取「略過測試並完成設定」,保留目前的設定。

現在已為 LookML 專案設定 Git。您可以在這裡驗證 LookML,然後建立初始提交並部署至正式版,讓專案在正式版模式中可用。您也可以:

設定裸 Git 存放區

使用裸 Git 存放區設定專案時,Looker 會在 Looker 伺服器上建立本機 Git 存放區,並啟動存放區的 Git 記錄,而不是連線至遠端 Git 供應商的存放區。如果您尚未建立要連線的遠端 Git 存放區,或想快速完成設定,讓其他人也能使用您的 LookML,設定裸存放區就非常實用。舉例來說,在生成模型的過程中建立新專案時,系統會自動為專案設定裸儲存庫。

使用裸 Git 存放區設定專案後,您稍後可以從專案的「專案設定」頁面重設專案的 Git 連線,並使用 HTTPSSSH 建立與遠端 Git 供應商的連線。

請注意,裸存放區有下列限制:

如要使用裸 Git 存放區設定 LookML 專案,請按照下列步驟操作:

  1. 開啟專案建立新的 LookML 專案
  2. 在專案中,選取左側圖示選單中的「設定」圖示,開啟「專案設定」頁面。
  3. 在「Project Configuration」頁面中,執行下列任一動作,開啟「Configure Git」頁面:

    • 如果專案沒有 Git 連線,請選取「設定 Git」按鈕。
    • 如果專案已設定 Git 連線,請選取「重設 Git 連線」按鈕。

    重設 Git 連線時,系統會保留主要分支的 Git 記錄。此外,每個 Looker 開發人員提取、合併及部署後,系統也會保留個人分支版本的記錄。如要保留所有分支的記錄,請參閱「遷移至新的 Git 存放區」最佳做法頁面。

  4. 在「設定 Git」頁面底部,選取「改為設定裸存放區」

  5. 在「Configure Bare Git Repository」(設定裸 Git 存放區) 對話方塊中,選取「Create Repository」(建立存放區)

    建立 Git 存放區後,Looker 會顯示「已建立裸存放區」對話方塊。

現在已為 LookML 專案設定 Git。您可以在這裡驗證 LookML,然後建立初始提交並部署至正式版,讓專案在正式版模式中可用。您也可以:

如果專案設定為使用裸存放區,您之後可以使用「重設 Git 連線」,將專案連線至 Git 供應商 (請參閱使用 HTTPSSSH 的程序)。不過,請勿連線至已有 Git 記錄的 Git 存放區。如果您已使用裸存放區設定 LookML 專案,Looker 會在 Looker 伺服器上建立存放區,並開始記錄存放區的 Git 歷程記錄。如果後續將 LookML 專案連結至具有 Git 記錄的 Git 存放區,Looker 將無法比對這兩項 Git 記錄,您也無法執行任何 Git 動作。

將新的 LookML 專案連線至非空白的 Git 存放區

設定 Git 進行版本控管是建立新 LookML 專案的重要步驟。通常每個專案都應有自己的存放區。不過,您可能需要使用含有現有 LookML 的 Git 存放區設定專案,例如在下列情況:

  • 在執行個體之間移動現有 LookML 專案時
  • 從損毀或已停用的 LookML 專案中還原程式碼,以便在新專案中使用

本節說明如何設定新的 LookML 專案,並搭配現有的非空白 Git 存放區,以利後續的 LookML 開發作業。

  1. 選取「空白專案」做為起點,建立新的 LookML 專案。空白專案是起點,因為系統會從現有存放區填入 LookML 物件,而不是從資料庫結構定義或 SQL 查詢填入。
  2. 使用 HTTPSSSH 為專案設定 Git,並使用「Configure Git」(設定 Git) 頁面「Repository URL」(存放區網址) 區段中,非空白專案的網址。
  3. 為專案設定 Git 後,請從「Git Actions」面板從正式環境提取
  4. 從正式版提取後,選取「Deploy to Production」

您對專案中的 LookML 所做的變更不會影響原始存放區,而是會儲存在存放區的本機版本中。

如要以特定公開存放區為基礎建立空白 LookML 專案,但您沒有該存放區的寫入權限,請按照「建立新的 LookML 專案」說明文件頁面「複製公開 Git 存放區」一節中的操作說明進行。

如果您要使用一個存放區,為多個執行個體設定 Git 工作流程,請參閱「使用一個存放區,為多個執行個體設定 Git 工作流程 - 開發、測試和正式環境」這篇社群貼文,瞭解詳情。

測試 Git 連線

Looker 提供 Git 連線測試,可驗證 Git 連線。Git 連線測試會驗證您是否已設定正確的 Git 網址,以及 Looker 是否可連上 Git 主機。Git 連線測試也會驗證您是否提供有效的 Git 部署金鑰,以及部署金鑰是否具有 Git 存放區的寫入權限。

如果 Looker 無法連線至 Git 存放區,「Git」按鈕會顯示「測試 Git 連線」文字,提示您排解連線問題。

您也可以在「Git actions」面板中選取「Test Git Connection」,存取 Git 連線測試工具:

接著,Git 連線測試工具會顯示測試 Git 連線的步驟:

  1. 檢查 git remote
  2. Git 服務的主機名稱會解析
  3. 網路連線至 Git 服務正常運作
  4. 驗證授權憑證
  5. 確認憑證允許寫入存取權

如果步驟成功,Looker 會在步驟左側顯示綠色勾號。如果步驟失敗,Looker 會在步驟左側顯示紅色勾號,並顯示錯誤訊息。

以下範例顯示測試成功:

「Git Connection Test」對話方塊顯示步驟清單,旁邊有綠色勾號,表示所有步驟都成功。

在下列範例中,Git 存放區未針對 Looker 連線設定部署金鑰。前三個步驟左側的綠色勾號表示這些步驟已成功完成:

  • Examine git remote
  • Host name for git service will resolve
  • Networking to the git service is operational

最後兩個步驟左側的紅色勾號表示這些步驟失敗:

  • Verify authorization credentials
  • Ensure credentials allow write access

「Git 連線測試」對話方塊,顯示成功和失敗的步驟清單。「驗證授權憑證」步驟下方的錯誤訊息顯示「Cannot AUTH to remote (Looker deploy key)」。