持續整合 (CI) 套件是一組與 LookML 專案相關聯的驗證指令。具備 manage_ci 權限的 Looker 使用者,可以在 CI 套件中設定下列項目:
- 如何觸發 CI 驗證執行作業 (從 Looker IDE 手動觸發,或在提取要求提交至存放區時自動觸發)。
- 要執行的 CI 驗證工具。
- 每項驗證測試的其他選項。詳情請參閱各驗證工具的說明文件頁面:
事前準備
建立 CI 套件前,請先備妥下列項目:
- Looker 執行個體符合持續整合需求,且已啟用持續整合。
- 具備
manage_ci權限的 Looker 使用者帳戶 (管理員權限集包含這項權限)。 - LookML 專案至少有一項修訂版本已部署至正式環境。只有在專案處於正式環境模式時,CI 背景服務才能擷取專案的 Git 設定。如果專案僅存在於開發模式,CI 在設定 Webhook 觸發條件時會傳回錯誤。
建立 CI 套件
您可以在 Looker IDE 的「套件」頁面設定及執行驗證工具:

如要建立 CI 套件,請按照下列步驟操作:
- 在 Looker IDE 中,點擊 IDE 導覽列中的「持續整合」圖示。
- 按一下「Suites」分頁標籤,開啟「Suites」頁面。
- 在「套裝組合」頁面,您可以建立新套裝組合或編輯現有套裝組合:
- 如要建立新的套件,請按一下「Create suite」按鈕。
- 如要編輯現有套件,請按一下該套件的「Edit suite」按鈕。
- 輸入套件名稱。如要編輯現有套件,可以視需要點按鉛筆圖示,編輯套件名稱。
- (選用) 如要設定定期自動驗證測試,請啟用「依排程觸發」切換鈕。詳情請參閱本頁的「依排程觸發」一節。
(選用) 如果想在 Looker 開發人員向存放區提交提取要求時,自動執行驗證測試,請開啟「從 Looker 發出提取要求時觸發」切換鈕。詳情請參閱本頁的「在 Looker 發出提取要求時觸發」一節。
如果為 CI 套件啟用提取要求觸發功能,您可以視需要使用「Only for target branch」(僅限目標分支版本) 欄位,指定只有提取要求指向存放區中的特定分支版本時,才觸發 CI 套件執行作業。詳情請參閱本頁的「在 Looker 發出提取要求時觸發」一節。
(選用) 如要在每次執行 dbt Cloud CI 工作時,設定自動驗證測試,請開啟「dbt Cloud 的提取要求觸發條件」切換鈕。詳情請參閱本頁的「從 dbt Cloud 發出提取要求時觸發」一節。
(選用) 如要在每次將提取要求提交至匯入的上游 (中樞) 專案時,設定自動驗證測試,請按照下列步驟操作:
- 將「匯入的專案發出提取要求時觸發」切換鈕設為啟用。
- 在「Select upstream projects to subscribe to」下方,找出應觸發這個 CI 套件執行的每個匯入中心專案,並勾選對應的核取方塊。至少須選取一項上游專案。
詳情請參閱本頁的「匯入的專案發出提取要求時觸發」一節。
(選用) 如要根據 CI 執行作業狀態接收電子郵件快訊,請開啟「啟用電子郵件快訊」切換鈕。詳情請參閱本頁的「設定警告」一節。
您也可以啟用驗證工具切換鈕,開啟驗證工具並設定選項。如要進一步瞭解各個驗證工具,請參閱下列說明文件頁面:
使用下列任一方法儲存變更:
- 如要建立新的套件,請按一下「Create suite」按鈕。
- 如要編輯現有套件,請按一下「更新套件」按鈕。
觸發條件
CI 執行作業可透過多種方式觸發:
- 定期自動執行。
- 當提取要求提交至 LookML 專案的存放區時,由 Looker 開發人員自動執行。
- dbt Cloud CI 工作建立提取要求時,系統會自動執行。
- 將提取要求提交至匯入的 LookML 專案時,自動執行。
- 手動:在 Looker IDE 的「套件」頁面,使用「執行套件」按鈕。
- 在 Looker IDE 的「執行」頁面,重新執行先前的 CI 執行作業。
按照排程觸發
您可以啟用「Trigger on a schedule」(按照排程觸發) 切換鈕,設定 CI 套件按照排程自動觸發。
啟用這個切換鈕後,您可以選取自動執行 CI 套件的頻率和具體設定:
- 每月:在特定日期和時間
- 每週,在特定日期和時間
- 每天特定時間
- 每小時或每 2、3、4、6、8 或 12 小時,在一天中的特定時間開始和結束
- 分鐘:每 5、10、15、20 或 30 分鐘,在一天中的特定時間開始和結束
- 一年中的特定月份、特定日期和時間
- 一週中的特定幾天,在特定時間
從 Looker 發出提取要求時觸發
如要設定 CI 套件,以便在提取要求時自動觸發,請啟用「在 Looker 發出提取要求時觸發」切換鈕。如要使用提取要求觸發條件,Looker 管理員必須在 Looker 的「持續整合管理」頁面設定 Git 存放區。
如果為 CI 套件啟用提取要求觸發條件,您可以選擇指定只有對存放區中特定分支版本的提取要求,才能觸發 CI 套件執行作業。如要限制 CI 執行作業的自動提取要求觸發條件,只適用於存放區中的特定分支版本,請在「Only for target branch」(僅限目標分支版本) 欄位中,輸入以逗號分隔的清單。
舉例來說,如果存放區有三個分支版本,分別名為 main、release_1 和 dev,您可以在「Only for target branch」(僅限目標分支版本) 欄位中輸入 main, release_1。也就是說,當 Looker 開發人員向 main 或 release_1 分支提交提取要求時,就會觸發 CI 執行作業。如果 Looker 開發人員向 dev 分支提交提取要求,不會觸發 CI 套件自動執行。
從 dbt Cloud 發出提取要求時觸發
如果您已在執行個體上設定 dbt Cloud 整合,可以設定 CI 套件,在 dbt Cloud CI 工作完成時自動觸發。CI 套件會驗證 dbt 模型中的變更,是否會導致 Looker 探索中出現 SQL 錯誤,然後才會部署 dbt 變更。
如要設定這項觸發條件,請在建立或編輯 CI 套件時,啟用「從 dbt Cloud 發出提取要求時觸發」切換鈕。
啟用這項觸發條件後,請設定下列選項:
dbt Cloud 工作:從下拉式選單欄位中,選取應觸發這個套件的 dbt Cloud CI 工作。
結構定義使用者屬性:選取含有資料庫連線結構定義名稱的 Looker 使用者屬性。這份清單只會顯示在管理面板中啟用 CI 的使用者屬性。
儲存測試套件並啟用這項觸發條件後,Looker 會自動在 dbt Cloud 帳戶註冊 Webhook,監聽工作完成事件。
如果是 dbt Cloud 觸發的執行作業,Looker 會動態識別 dbt Cloud 執行作業建立的暫時結構定義,並在 CI 執行期間,以這個暫時結構定義名稱覆寫所選使用者屬性。
匯入的專案發出提取要求時觸發
如果 Looker 專案使用本機專案匯入功能,從同一個 Looker 執行個體匯入其他專案,您可以設定 CI 套件,在匯入的上游專案 (稱為「中樞」專案) 建立或更新提取要求時,測試下游專案 (稱為「分支」專案)。
舉例來說,假設您有一個 company_bi 中樞專案,並已匯入 marketing 和 finance 輪輻專案。您可以在 marketing 和 finance 專案中設定觸發條件,每當有提取要求提交至 company_bi 存放區時,就會驗證這些輪輻專案。
設定這項觸發條件前,請先瞭解下列必要條件和行為:
- 僅限本機專案匯入:所有訂閱的中樞專案都必須在本機匯入輪輻專案,方法是在同一個 Looker 執行個體上,使用
manifest.lkml中的local_dependency參數。不支援遠端專案 (在專案資訊清單檔案中使用remote_dependency參數匯入)。 - Git 和正式環境模式:輪輻專案和匯入的中樞專案都必須部署至正式環境模式,並為其 Git 存放區設定 CI GitHub 應用程式。
- 權限:Looker CI 使用者角色必須具備輪輻專案和匯入中樞專案中模型的
develop權限。 - 驗證工具行為:由於輪輻專案會根據正式版進行驗證,且沒有開發分支版本的 Git 狀態可供比較,因此無論套件設定為何,系統都會自動停用由匯入專案提取要求觸發的增量驗證。此外,如果套件僅由匯入專案的提取要求觸發,建議停用 CI LookML 驗證工具和 CI 樣式驗證工具,因為這些驗證工具只會檢查輪輻專案的檔案,不受上游變更影響。
如要設定輪輻專案,在提取要求提交至一或多個匯入的中樞專案時執行 CI 驗證,請在輪輻專案中建立或編輯 CI 套件時,按照下列步驟操作:
- 將「匯入的專案發出提取要求時觸發」切換鈕設為啟用。
- 在「Select upstream projects to subscribe to」下方,找出應觸發這個 CI 套件執行的每個匯入中心專案,並勾選對應的核取方塊。至少須選取一項上游專案。
如要讓中樞專案的變更觸發多項分支專案的驗證執行作業,您必須在每項分支專案中設定 CI 套件。
儲存 CI 套件時,Looker 會自動在每個所選中樞專案的存放區中,建立提取要求事件的 Webhook 訂閱項目。當提取要求提交至已訂閱中樞專案的存放區時,Looker 會在分支專案中觸發 CI 執行作業。執行作業會驗證輪輻專案的正式版,同時將匯入的中樞專案暫時固定至提取要求修訂版本。Looker 會將分支專案的 CI 執行結果,回報為中樞專案提取要求的修訂版本狀態。您也可以在 Looker IDE 的輪輻專案「執行」頁面查看執行作業詳細資料,其中「觸發條件」欄會顯示「專案匯入」,執行結果頁面則會包含「專案匯入」部分。如要進一步瞭解這些執行作業的執行方式,以及如何檢查結果,請參閱「執行 CI 套件」和「查看 CI 執行作業的結果」。
設定快訊功能
如要根據 CI 執行作業的狀態接收電子郵件快訊,可以設定 CI 套件的快訊。這樣一來,您就能監控持續整合執行作業,不必查看 Looker IDE 的「執行作業」頁面。
如要設定 CI 套件的電子郵件快訊,請在建立或編輯 CI 套件時,按照下列步驟操作:
- 將「啟用電子郵件警報」切換鈕設為啟用。
- 在「Email addresses」(電子郵件地址) 欄位中,輸入要接收快訊的電子郵件地址,並以半形逗號分隔。
- 使用核取方塊選取應觸發快訊的工作狀態:
- 失敗:CI 執行作業未通過驗證測試時,觸發電子郵件通知。
- 錯誤:CI 執行作業發生系統或設定錯誤時,觸發電子郵件通知。
- 通過:持續整合執行作業順利完成時,觸發電子郵件通知。
- 已取消:CI 執行作業取消時,觸發電子郵件。
刪除套件
如要刪除 CI 套件,請按照下列步驟操作:
- 在 Looker IDE 中,點擊 IDE 導覽列中的「持續整合」圖示。
- 按一下「Suites」分頁標籤,開啟「Suites」頁面。
- 在「Suites」(套件) 頁面中,按一下套件的「Edit suite」(編輯套件) 按鈕。
- 在套件頁面中,按一下「Delete suite」(刪除套件) 按鈕。
- 在確認對話方塊中,按一下「Delete suite」按鈕。