透過 Cloud Build 從 Git 持續部署

您可以透過 Cloud Build 觸發條件,在有新修訂版本推送至 Git 存放區的特定分支版本時,使用 Cloud Build 自動建構及部署程式碼,藉此自動執行建構作業,並將內容部署至 Knative 服務。

使用 Cloud Build 觸發條件建構容器時,部署到 Knative 服務後,服務的 Google Cloud 控制台會顯示來源存放區資訊

事前準備

  • 您必須擁有包含 Dockerfile 的 Git 存放區,或是以 Google Cloud 的 Buildpacks 支援的語言 (Go、Node.js、Python、Java 或 .NET Core) 編寫程式碼。
  • Enable the Cloud Build and Cloud Source Repositories APIs.

    Enable the APIs

透過 Knative 服務使用者介面設定持續部署

視您是在新服務還是現有服務上設定持續部署,程序會略有不同。點按適當的分頁標籤即可瞭解詳情。

新服務

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 按一下「Create service」(建立服務)

  3. 根據偏好設定填寫「服務設定」

  4. 點選「下一步」

  5. 選取「持續透過原始碼存放區部署新的修訂版本」

    設定 Cloud Build

  6. 按一下「Set up with Cloud Build」(設定 Cloud Build)

  7. 選取供應商和存放區。

    • GitHub - 如果尚未進行驗證,請按一下「Authenticate」(驗證),然後按照操作說明操作。根據預設,存放區會透過 Cloud Build GitHub 應用程式連線。您也可以在 Cloud Source Repositories 中建立 GitHub 存放區的鏡像。如要這麼做,請按一下「進階選項」,然後勾選「使用 Cloud Source Repositories 建立 GitHub 存放區鏡像」瞭解詳情
    • Bitbucket - 如果尚未驗證,請按一下「Authenticate」(驗證),然後按照操作說明操作。
    • Cloud Source Repositories

    設定持續部署功能 (步驟 1)

  8. 點選「下一步」

  9. 在「建構設定」步驟中填寫選項:

    • 分支:指出執行觸發程序時應使用的來源。您可以在這裡輸入規則運算式。系統會自動驗證相符的分支機構,並顯示在輸入內容下方。請注意,如果系統只比對到一個分支,觸發程序會在建立後自動執行。
    • 建構類型

      • 如果存放區應使用 Docker 建構,且包含 Dockerfile,請選取「Dockerfile」Dockerfile。「來源位置」會指出 Dockerfile 的位置和名稱。這個目錄會做為 Docker 建構作業的結構定義。所有路徑都應相對於目前目錄。

      • 否則請選取「Google Cloud Buildpacks」。使用建構包內容指定目錄,並使用進入點 (選用) 提供啟動伺服器的指令。範例: gunicorn -p :8080 main:app (適用於 Python)、 java -jar target/myjar.jar (適用於 Java)。留空即可使用預設行為

    設定持續部署步驟 2

  10. 按一下 [儲存]

  11. 確認所選設定。

    設定持續部署驗證

  12. 點選「建立」

  13. 請注意,系統會將您重新導向至「服務詳細資料」頁面,您可以在該頁面追蹤持續部署設定的進度。

  14. 完成所有步驟後,請注意其他選項:

現有服務

  1. 前往 Google Cloud 控制台的 Knative Serving:

    前往 Knative serving

  2. 在服務清單中找出所需服務,然後按一下。

  3. 按一下「設定持續部署」

  4. 選取供應商和存放區。

    • GitHub - 如果尚未進行驗證,請按一下「Authenticate」(驗證),然後按照操作說明操作。根據預設,系統會透過 Cloud Build GitHub 應用程式連結存放區。您也可以在 Cloud Source Repositories 中建立 GitHub 存放區的鏡像。如要這麼做,請按一下「進階選項」,然後勾選「使用 Cloud Source Repositories 建立 GitHub 存放區鏡像」瞭解詳情
    • Bitbucket - 如果尚未驗證,請按一下「Authenticate」(驗證),然後按照操作說明操作。
    • Cloud Source Repositories

    設定持續部署功能 (步驟 1)

  5. 點選「下一步」

  6. 在「建構設定」步驟中填寫選項:

    • 分支:指出執行觸發程序時應使用的來源。您可以在這裡輸入規則運算式。系統會自動驗證相符的分支機構,並顯示在輸入內容下方。請注意,如果系統只比對到一個分支,觸發程序會在建立後自動執行。
    • 建構類型

      • 如果存放區應使用 Docker 建構,且包含 Dockerfile,請選取「Dockerfile」Dockerfile。「來源位置」會指出 Dockerfile 的位置和名稱。這個目錄會做為 Docker 建構作業的結構定義。所有路徑都應相對於目前目錄。

      • 否則請選取「Google Cloud Buildpacks」。使用建構包內容指定目錄,並使用進入點 (選用) 提供啟動伺服器的指令。範例: gunicorn -p :8080 main:app (適用於 Python)、 java -jar target/myjar.jar (適用於 Java)。留空即可使用預設行為

    設定持續部署步驟 2

  7. 按一下 [儲存]

  8. 頁面會重新載入,並顯示持續部署設定的進度。

  9. 完成所有步驟後,請注意其他選項:

手動設定持續部署

如需使用手動程序而非 UI,請參閱手動設定持續部署

將現有的 Cloud Build 觸發條件附加至 Knative serving 服務。

如果您已有 Cloud Build 觸發程序,可以將其附加至服務,並在「Service Details」(服務詳細資料) 頁面中,使用 Google Cloud 控制台功能:「Edit Continuous Deployment」(編輯持續部署) 按鈕和「Build History」(建構記錄) 圖表。

如要這麼做,請新增以 gcb-trigger-id 為鍵的標籤,並以 Cloud Build 觸發條件的專屬 ID 做為值 (不是觸發條件名稱)。請參閱操作說明,瞭解如何設定標籤。