本頁面說明如何設定專案元素,以便與 Git 整合以進行版本控制。
專案設定
如要查看專案設定,請開啟專案,然後在 Looker IDE 圖示選單中選取「Settings」圖示。
您可以在這裡存取三個「專案設定」分頁:
設定
「專案設定」頁面的「設定」分頁會開啟「專案設定」頁面。您可以在「Project Configuration」頁面中設定下列項目:
- 名稱:專案名稱。如要重新命名專案,請編輯文字並按一下「Save Project Configuration」按鈕。詳情請參閱「存取及編輯專案資訊」說明文件頁面。
Git 正式版分支版本名稱:指定要用於專案開發分支版本的 Git 分支版本名稱。Git 分支版本必須存在於 Git 存放區中。詳情請參閱本頁的「Git 正式版分支名稱」一節。
程式碼品質:決定是否要求開發人員在將任何變更提交至專案前,先在專案中成功執行 LookML 驗證工具。Code Quality 提供以下選項:
- 提交前必須解決錯誤和警告:Looker 開發人員必須先成功執行 LookML 驗證工具,並解決所有錯誤和警告,才能提交變更。這是建議設定。
- 提交前僅須解決錯誤:Looker 開發人員必須先成功執行 LookML 驗證工具並解決所有錯誤,才能提交變更。開發人員可以在有警告時提交變更。雖然不建議使用,但如果在 Looker 更新後,有新警告出現在可運作的 LookML 中,這項選項就會很實用。
- 允許提交錯誤程式碼:Looker 開發人員可以提交變更,無須執行 LookML 驗證工具,也不必擔心 LookML 中是否有錯誤或警告。不建議使用這個選項,因為這可能導致 LookML 無法運作或產生錯誤結果。
必須先通過資料測試,才能將這項專案部署至正式環境:如果 LookML 專案含有一或多個
test
參數,開發人員必須先執行資料測試,才能部署任何變更。如果資料測試通過,IDE 就會允許開發人員將變更部署至正式環境。如要進一步瞭解如何在 LookML 專案中設定資料測試,請參閱test
參數說明文件頁面。如要進一步瞭解如何在專案中執行資料測試,請參閱「使用版本控制和部署」說明文件。根據預設,系統會為新的 LookML 專案啟用「必須先通過資料測試,才能將這項專案部署至正式環境」選項。Git 整合:指定與 Git 供應商的整合程度。詳情請參閱「Git 整合選項」。
啟用進階部署模式:啟用這項設定後,使用者就能將任何 SHA、標記或分支部署到實際工作環境。如要進一步瞭解如何在啟用進階部署模式時使用版本控制功能,請參閱「進階部署模式」說明文件頁面。
Webhook 部署密鑰:設定驗證,以便在 Looker 執行個體中部署正式版變更。詳情請參閱「設定 Webhook 部署機密金鑰」說明文件。
重設 Git 連線:這個按鈕會開啟「Configure Git」視窗,您可以在其中更新 Git 存放區的連線設定。
重設 Git 連線後,主分支的 Git 記錄會保留。當 Looker 開發人員同步開發模式時,系統也會保留每位開發人員的個人分支記錄。如要保留所有分支的記錄,請參閱「遷移至新的 Git 存放區」最佳做法頁面。
刪除專案:這個按鈕會刪除專案,從 Looker 執行個體的所有開發和正式環境中移除專案中的所有 LookML。
Git 正式版分支名稱
使用預設的 Looker Git 整合功能時,所有 Looker 開發人員都會將變更合併至名為 master
的主分支。您可以使用「Git 正式版分支版本名稱」欄位,指定 Looker 應使用 Git 存放區中的哪個分支版本,做為 Looker 開發人員分支版本合併的目標分支版本。(如要瞭解預設 Git 工作流程和進階 Git 實作功能的其他選項,請參閱「使用版本管控和部署」說明文件頁面)。
如果是現有專案,請考慮在變更 Git 正式版分支名稱前,先執行下列操作:
- 請 Looker 專案的所有開發人員提交變更,並將分支版本合併至現有的正式版分支版本,然後暫停工作,直到 Looker 專案設定中更新並儲存 Git 正式版分支版本名稱。
- 如果專案使用整合式提取要求,請視情況完成並合併所有尚未關閉的提取要求。
- 在 Git 供應端執行所有必要的準備作業,例如在存放區中建立新分支、重新命名現有的預設 Git 分支,或是執行其他必要的操作來準備分支,以便 Looker 將其用於合併的目標分支。至少必須確認要使用的分支版本是 Git 存放區中現有的分支版本。
如要變更專案用於開發分支的合併目標 Git 分支,請按照下列步驟操作:
- 選取 Looker IDE 圖示選單中的「Settings」圖示,即可顯示專案設定。系統預設會開啟「設定」分頁。
- 在「Git 正式版分支名稱」欄位中,輸入要用於 Looker 專案正式版分支的 Git 分支名稱。
- 按一下「儲存專案設定」按鈕,儲存變更。
匯入憑證
您可以在「Import Credentials」部分管理私人遠端存放區的驗證憑證。詳情請參閱「從其他專案匯入檔案 」說明文件。
分支版本管理
在「專案設定」頁面的「分支管理」分頁中,您可以查看與專案相關聯的所有 Git 分支。詳情請參閱「使用版本控制和部署」說明文件。
Git 整合選項
設定 Git 連線後,Looker 就會使用 Git 供應器來管理 LookML 原始檔案,詳情請參閱「使用版本管控和部署」說明文件頁面。
如果您是 Looker 管理員,可以使用專案設定面板的「Configuration」分頁中的「Git Integration」選項,設定 Looker 與 Git 整合的其他選項:
- 關閉:Looker 不會顯示任何 Git 供應工具介面的外部連結。
- 顯示連結:Looker 會提供 Git 供應商介面的外部連結,方便開發人員在 Git 供應商介面中查看專案。Looker 也會提供每個專案檔案的連結,方便開發人員在 Git 供應商介面上查看檔案記錄和 Git 歸咎資訊。如要瞭解連結,請參閱「將外部連結整合至 Git 供應器」一節。
- 建議使用提取要求:除了提供指向 Git 供應商介面的外部連結,Looker 還會讓開發人員選擇提交提取要求,以便其他開發人員核准變更,再將其新增至專案。如要瞭解如何設定這項功能,請參閱「整合專案的提取要求」一節。
- 需要提取要求:與「建議使用提取要求」相同,但 LookML 開發人員必須開啟提取要求,才能將變更提交至專案。如要瞭解如何設定這項功能,請參閱「整合專案的提取要求」一節。
如要儲存 Git 整合設定,請按一下「部署」部分下方的「儲存專案設定」。
將外部連結整合至 Git 供應器
如果您已啟用任何額外的 Git 整合選項 (顯示連結、建議使用提取要求或必須使用提取要求),Looker 會提供 Git 供應商介面的外部連結。這些外部連結會開啟新的瀏覽器分頁,前往 Git 供應商的網站。
如要查看這些外部連結,開發人員必須擁有 Git 供應商的帳戶,並且具備存取專案 Git 存放區的權限。
在每個 LookML 檔案的三點 「檔案選項」選單中,Looker 會提供 Git 供應商網站的連結,方便您查看檔案、查看檔案的 Git 歸咎資訊,以及查看檔案的修訂版本記錄。
您也可以在「Git Actions」面板中使用「View Project on <Git provider>
」選項,在 Git 供應商的網站上開啟專案檔案。
整合專案的提取要求
透過預設的 Looker Git 整合,Looker 開發人員可將變更提交至開發分支版本,然後將開發分支版本合併至正式分支版本。接著,當您部署至 Looker 環境時,Looker 會使用正式版分支的最新版本。(如要瞭解預設 Git 工作流程和進階 Git 實作功能的其他選項,請參閱「使用版本管控和部署」說明文件頁面)。
您可以使用「推送要求建議」或「推送要求必要」選項設定專案,這樣就不會允許 Looker 開發人員將開發分支合併至 Looker 正式版分支:
- 建議使用提取要求:開發人員將變更提交至開發分支後,Looker IDE 中的 Git 按鈕會提示開發人員開啟提取要求,將開發分支合併至正式版分支。開發人員接著可以開啟提取要求,讓其他 Looker 開發人員透過 Git 供應工具的網頁介面進行審查及核准。或者,開發人員也可以改用 Git Actions 面板中的「部署至正式版」選項,略過建立提取要求的程序,並將變更部署至正式版。(如果專案已啟用進階部署模式,就無法使用「部署至正式環境」選項)。
- 需要提取要求:開發人員將變更提交至開發分支版本後,Looker IDE 中的 Git 按鈕會提示開發人員開啟提取要求。開發人員必須提出合併要求,將開發分支合併至正式版分支。其他 Looker 開發人員可以透過 Git 供應工具的網頁介面,查看及核准合併要求。
Looker 支援下列 Git 供應工具的提取要求整合:
- GitHub
- GitLab
- Bitbucket Cloud
- Bitbucket Server (舊稱「Stash」)
以下是使用 Looker 的提取要求時的其他注意事項:
如要開啟提取要求,開發人員必須擁有 Git 供應工具帳戶,並且具備專案 Git 存放區的存取權。
如果在您的執行個體上啟用 IP 許可清單功能,為了將提取要求與任何 LookML 專案整合,您必須將 Git 供應商用於傳出要求的 IP 位址範圍加入許可清單。舉例來說,目前的 GitHub IP 位址會列於 GitHub 變更記錄中。IP 可能會有所變動,且會因其他 Git 供應商而異。
如果您已啟用進階部署模式,則無需在「使用整合的提取要求設定專案」一節中設定 webhook,因為進階部署模式會將合併和部署函式分開。
如果 Looker 開發人員已發出提取要求,而您想要還原該要求,請參閱「如何透過 GitHub 還原 Looker 的提取要求」社群文章,瞭解詳情。
您可以使用 Git 提取要求,為 Looker 使用測試環境執行個體,這樣就能擁有測試環境執行個體和正式版執行個體,並在測試環境執行個體中啟用提取要求。您可以在前置環境中進行所有開發和程式碼審查作業,然後將經過審查的程式碼部署至正式版執行個體。如要設定這項功能,請參閱「Git 工作流程:在多個執行個體中使用一個存放區 - 開發、測試和實際環境」社群文章。
Looker 會使用合併提交方法,將 Looker 開發人員分支版本中的變更合併至正式版分支版本。使用 Git 供應器介面時,請確保開發人員不會使用合併匯總或重新匯總。詳情請參閱「Git 供應工具介面中的合併選項」一節。
設定整合了合併要求的專案
如要透過 Git 提取要求設定 Looker 專案,請按照下列步驟操作:
- 在專案中,從 Looker IDE 圖示選單中選取「Settings」。
- 在「設定」分頁的「Git 整合」部分中,選取「建議使用提取要求」或「必須使用提取要求」。
- 您也可以在 Git 供應商的介面中設定自動部署 webhook,方法是複製 webhook 資訊並貼到文字檔中。如果專案已設定為使用進階部署模式,您可以略過這個步驟。您也可以稍後再決定,並返回專案設定頁面取得 webhook 資訊。
- 您可以視需要設定Webhook 部署密鑰,以驗證 Git 供應器或進階部署模式 Webhook 的自動部署 Webhook。如要建立 Webhook 密鑰,請按一下「Set Webhook Secret」。複製部署密鑰,並貼到文字檔中,以便將 webhook 新增至 Git 供應器介面。您也可以稍後再決定,並返回專案設定頁面新增部署金鑰。詳情請參閱「設定 Webhook 部署機密值」說明文件。
- 按一下「儲存專案設定」。
從現在起,每當 Looker 開發人員將變更提交至專案時,Looker IDE 都會顯示「Open Pull Request」按鈕。按下這個按鈕,系統會直接在瀏覽器中開啟新的分頁,前往 Git 供應工具網站上的新提取要求頁面。
設定 Looker 專案使用提取要求後,請執行下列任一操作,設定如何將提交內容部署至正式環境:
- 如要自動部署已合併至正式版分支的最新提交,請使用 Git 供應器的介面新增 webhook,如本頁下一節所述。
- 如要手動指定要部署哪些分支或提交,請啟用進階部署模式。如要瞭解如何啟用及管理進階部署模式,請參閱「進階部署模式」說明文件頁面。
在 Git 供應工具中新增 webhook
如果 Looker 專案已啟用提取要求功能,您可以在 Git 供應器介面中設定部署 webhook。每當您在 Git 供應工具介面中合併提取要求時,這個 webhook 就會觸發 Looker 部署正式版分支的最新修訂版本。
在大多數情況下,如果專案已設定為使用進階部署模式,則不建議設定自動部署 webhook。進階部署模式可讓您選取要部署的提交和分支,因此在大多數情況下,設定自動部署 webhook 會使進階部署模式的功能失效。
如要在 Git 供應商介面中新增自動部署 webhook,請先在 Looker 中點選專案的 Looker IDE 圖示選單中的「Settings」圖示,前往 Looker 中的專案設定。接著,從「Git 整合」部分複製 webhook。
Webhook 採用 <instance_url>/webhooks/projects/<project_name>/deploy
格式。
將 <instance_url>
替換成 Looker 執行個體的網址。舉例來說,如果 Looker 執行個體網址為 example.looker.com
,專案名稱為 e_faa
,則 webhook 會像這樣:
https://example.looker.com/webhooks/projects/e_faa/deploy
您也可以透過 Looker 專案設定取得 Webhook 部署密鑰,藉此驗證專案與 Git 供應商的 Git 整合作業。詳情請參閱「設定 Webhook 部署機密值」說明文件。
取得 Webhook 網址和部署 Webhook 密鑰後,您可以將這些資訊輸入 Git 供應器介面。如果您的 Git 供應商是 GitHub,請按照下列步驟操作:
- 前往 GitHub 存放區,查看專案的存放區設定。
- 在存放區設定中,按一下「Webhook」。按一下「Add Webhook」,開啟「Add Webhook」視窗。
- 在「Payload URL」欄位中,貼上您從 Looker 的「Git Integration」部分複製的 webhook 資訊。
- 您可以視需要新增 webhook 部署密鑰,驗證專案與 Git 供應商的 Git 整合作業。從 LookML 專案的專案設定複製部署密鑰,然後將密鑰貼到 Git 供應工具介面中的「密鑰」欄位。詳情請參閱「設定 Webhook 部署機密值」說明文件。
- 在「您想觸發哪些事件的 webhook?」欄位中,選取「僅推播事件」選項。
- 按一下 [Add Webhook]。
使用部署 Webhook 從遠端 Git 存放區提取
當 LookML 專案啟用提取要求,且部署 webhook 未自動化時,您可能偶爾會發現 Looker 正式版模式中顯示的 LookML 與 Git 存放區主分支的 LookML 不符。這可能發生在以下情況:
- 當存放區啟用提取要求時
- 在 Looker 開發環境以外編輯 LookML 時,例如:
- 在 Git 存放區本身
- 在其他 Looker 執行個體上 (例如測試環境執行個體)
您可以使用部署 webhook,將 Looker 正式版分支同步至存放區的主分支:
開啟新的瀏覽器分頁,然後輸入下列網址,將
<instance_url>
替換為 Looker 執行個體網址,並將<project_name>
替換為 LookML 專案名稱:<instance_url>/webhooks/projects/<project name>/deploy
執行部署 webhook 網址後,空白網頁會顯示類似以下的成功訊息:
{"operations":[{"error":false,"error_code":0,"command":"Checkout Branch #\u003cLooker::GitBranch:0x5798672b\u003e","node_id":728,"results":["Success"]},{"error":false,"error_code":0,"command":"jgit revert_repo","node_id":728,"results":["Success"]}],"new_head":"05f772af48709fc2799fefe408e3fdd895a63284","old_head":"77412cad9fd7ed3eed1627afa201fdf7dcb97dd1"}
您在 Looker 中的正式版模式現已更新,反映遠端 Git 主分支。您的個人開發人員分支和共用分支不會受到影響。
從遠端 Git 存放區提取 webhook,並使用部署密鑰
如果 LookML 專案也需要用於部署 webhook 的祕密值,才能將變更從主要分支推送至正式版分支,那麼在使用「使用部署 webhook 從遠端 Git 存放區提取資料」一節所述的方法,將正式版分支與存放區的主要分支同步時,您會收到下列錯誤訊息之一:
{"error":"Uh oh! Something went wrong."}
或:
{"error":"Not found."}
您可以使用 webhook 密鑰,在終端機中執行下列 cURL 指令,而非使用部署 webhook。請務必替換下列欄位:
- 將
<instance_URL>
替換為 Looker 執行個體網址。 - 將
<deploy_secret>
替換為專案的部署密鑰。 - 將
<project_name>
替換為 LookML 專案名稱。
curl -i -X POST -H "X-Looker-Deploy-Secret:<deploy_secret>" https://<instance_url>/webhooks/projects/<project_name>/deploy
舉例來說,如果您要將 ecommerce_project 的正式版分支版本與 Brettcase 例項中的存放區主分支版本同步:
curl -i -X POST -H "X-Looker-Deploy-Secret:123123123secretgoeshere123123123" https://brettcase.looker.com/webhooks/projects/ecommerce_project/deploy
Git 供應工具介面中的合併選項
如果 Looker 專案已整合提取要求,開發人員就能使用 Git 供應商的介面提交提取要求,並將變更合併至正式版分支。
Looker 支援合併提交方法,可將開發分支中的變更合併至正式版分支。不過,Git 供應商的介面可能會顯示其他合併選項,例如「Squash and merge」或「Rebase and merge」。
Looker 不支援合併匯總或重新定基合併,因此開發人員應避免使用這些選項。建議您盡可能為存放區停用這些選項。如要在 GitHub 存放區中停用這些選項,請按照下列步驟操作:
前往「設定」分頁,即可在 GitHub 上存取專案的存放區設定。
提示:如果專案已設定 Git 整合功能,您可以在 Looker 中使用專案的 Git 選單中的「View Project on Git」選項。
在存放區設定中,按一下導覽選單中的「選項」。
前往「合併按鈕」專區,只勾選「允許合併提交」選項。停用「Allow squash merging」和「Allow rebase merging」選項。
停用合併選項後,開發人員在存放區合併分支時,就無法在 GitHub 中使用這些選項。