使用預設的 Looker Git 整合功能時,Looker 開發人員會將變更提交至開發分支版本,然後將開發分支版本合併至正式版分支版本。接著,當您部署至 Looker 環境時,Looker 會使用正式版分支的最新提交內容。(如需預設 Git 工作流程,以及進階 Git 實作的其他選項,請參閱「使用版本控管和部署」說明文件頁面)。
如果不想在 Looker 環境中使用正式版分支的最新提交內容,Looker 管理員可以啟用進階部署模式,進行進階 Git 實作。啟用進階部署模式後,具有 deploy
權限的開發人員就能指定要部署至 Looker 生產環境的其他提交 SHA 或標記,而不必使用生產分支的最新提交。如要從其他分支版本部署提交內容,可以使用進階部署模式 webhook 或 API 端點。
進階部署模式有助於整合多環境開發人員工作流程中的存放區,其中每個環境都會指向不同版本的程式碼庫。此外,一或多位開發人員或管理員也能更有效控管部署至正式版的變更。
啟用進階部署模式後,Looker 不會提示開發人員將變更部署至正式環境。而是會提示開發人員將變更合併至正式版分支。完成後,只能透過下列方式部署變更:
啟用進階部署模式
如要啟用進階部署模式,請按照下列步驟操作:
- 在 Looker IDE 中,依序選取圖示選單中的「設定」圖示和「設定」分頁,前往「專案設定」頁面。
- 在「專案設定」頁面中,選取「部署」部分下方的「啟用進階部署模式」核取方塊。
- 選取「儲存專案設定」按鈕,即可儲存變更。
使用進階部署模式控管版本
啟用進階部署模式後,開發人員就無法再從 Looker部署至正式環境。開發人員修訂內容時,Git 按鈕會提示他們將變更合併至主要分支版本,而不是部署至正式環境。
變更會透過 Webhook、API 或部署管理工具部署至正式環境。
Deployment Manager
如果專案已啟用進階部署模式,擁有 deploy
權限的 Looker 開發人員,就能使用部署管理工具將提交內容或標記部署至 Looker 生產環境。
選取圖示選單中的「部署」圖示,即可存取部署管理員。
部署管理工具會顯示先前使用進階部署模式部署的所有提交和標記。
如果您尚未透過進階部署模式部署提交內容,請按一下「選取提交內容」按鈕,查看提交記錄,當中會顯示 Looker 開發人員已合併至正式版分支的提交內容。
如果專案使用進階部署模式部署提交內容,提交記錄也會顯示提交內容的相關聯標記 (如有),並指出哪個提交內容是目前用於正式環境的版本。
如果正式版分支的修訂版本比已部署的修訂版本新,部署管理員會顯示這項資訊,並顯示 Looker 開發人員已合併至正式版分支的最新修訂版本。
從部署管理員部署提交內容
您可以透過下列幾種方式,從部署管理工具部署提交內容:
- 如要部署尚未部署的提交內容,請按一下「選取提交內容」按鈕,從已合併至遠端正式版分支的所有提交內容中選取。(如要從其他分支部署提交內容,請使用進階部署模式 webhook 或 API 端點)。
- 如要部署遠端正式版分支中最近合併的提交,請按一下「Deploy Latest」(部署最新版本) 按鈕。
- 如要部署先前已部署的提交或標記,請按一下部署管理工具中的三點「選項」選單 ,然後按一下「部署至正式環境」。
如果選擇先前未部署的提交內容,部署管理員會顯示「部署提交內容」選單。如要從「Deploy Commit」(部署提交) 選單部署提交,請按照下列步驟操作:
- 如要部署未指派代碼的提交內容,請選取「Deploy without tagging」(部署但不標記),然後選取「Deploy to Environment」(部署至環境)。否則,請選取「代碼並部署」選項。
指定提交的標記。Git 標記會標示存放區記錄中提交的重大事件,例如發布編號或版本名稱。請注意下列有關 Git 標記的事項:
- Git 存放區中的 Git 標記不得重複。您無法在存放區中,對兩個不同的提交使用相同的標記。
- Git 標記不得包含空格或特定特殊字元,如需 Git 中參照的命名規則,請參閱 Git 參考說明文件。
您也可以視需要新增標記說明,提供有關提交的詳細資訊。
選取「Deploy to Environment」(部署至環境),將提交內容部署至 Looker 執行個體的正式版。
部署提交後,部署管理工具會將提交標示為 Looker 實際執行環境的目前版本。
使用 Webhook 部署
如果專案採用進階部署模式,您可以使用部署 Webhook 將變更部署至正式環境。
如要設定部署 Webhook,請先在「專案設定」頁面中,為 Looker 專案新增 Webhook 密鑰。新增 Webhook 密鑰可確保只有授權單位能觸發部署 Webhook。
啟用進階部署模式後,您可以使用兩個 Webhook 將變更部署至正式環境。一個是部署分支版本的開頭,另一個則是部署特定 Git SHA 或標記。
部署分支機構開頭的 Webhook 採用下列格式:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>
部署修訂版本 SHA 或標記的 Webhook 採用下列格式:
<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>
請將角括號 < >
docsexamples.dev.looker.com
Looker 執行個體上 e_faa
專案的 v1.0
代碼名稱的 Webhook 範例:
https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0
使用 API 部署
對於採用進階部署模式的專案,您可以使用 Looker API 將變更部署至正式環境。
如要透過 API 部署,發出呼叫的 API 使用者必須具備 deploy
權限。如要進一步瞭解如何驗證及使用 Looker API,請參閱「Looker API 驗證」和「API 入門」說明文件頁面。
如要透過 API 部署,請使用 deploy_ref_to_production
端點。您可以透過多種方式呼叫這個端點。以下範例適用於 HTTPS 和 SDK 方法。
HTTPS
如要使用 deploy_ref_to_production
API 端點手動部署,請參閱下列範例 (使用 HTTPS 方法)。如需更多資訊和使用 CURL 要求手動呼叫 API 的範例,請參閱 How to Authenticate to the API GitHub 讀我檔案,或使用 API Explorer。您可以從 Looker Marketplace,在 Looker 執行個體上安裝 API Explorer。
在 HTTPS 要求中使用下列範例,透過 deploy_ref_to_production
API 端點部署分支的開頭、特定提交 SHA 或標記:
部署分支版本的開頭:
<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>
部署修訂版本 SHA 或標記:
<HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>
SDK
或者,您也可以使用 Looker 的 SDK,不必手動向 API 發出要求。SDK 會處理驗證、參數和回應序列化等詳細資料,以及其他相關事項。
使用 SDK 方法部署 deploy_ref_to_production
的方式如下:
部署分支版本的開頭:
deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})
部署修訂版本 SHA 或標記:
deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})