Cloud Deploy 術語

本文中的術語定義,是根據 Cloud Deploy 的使用方式而定。

放棄

如要永久停用版本

應用程式

您要使用 Cloud Deploy 部署的軟體。

應用程式推送

傳送將應用程式部署到目標環境所需的資產。在 Cloud Deploy 中,應用程式交付作業包括產生、升級及交付應用程式的 Kubernetes 資訊清單至叢集。

構件

要部署的容器映像檔 (建構構件),以及用於部署作業的設定檔,例如資訊清單和 Skaffold 設定 (目標構件)。

自動化

自動化功能可讓您設定推送軟體更新管道和目標,以便對該管道的版本和推出作業執行某些動作,不必人為介入。舉例來說,您可以設定放送管道,在適當情況下自動將宣傳內容放送至特定目標。瞭解詳情

自動化作業規則

自動化動作的行為部分是由自動化規則定義。自動化規則會定義自動執行的動作,例如宣傳發行內容。

如要查看可用的自動化規則,請參閱「使用自動化規則」一文。

自動化執行作業

自動化的執行個體。

初期測試部署

部署策略:先向部分使用者推出變更,測試以確保可靠性,然後全面推出。

子項推出作業

如果是平行部署,系統會產生推出作業,以便部署至子項目標

另請參閱「控制器推出作業」。

子目標

如果是平行部署,目標代表您要同時部署的多個 GKE、GKE 連結叢集或 Cloud Run 個別目標之一。

另請參閱「多目標」、「平行部署」和「子項推出作業」。

持續推送軟體更新

軟體工程實務:可安全、頻繁地將變更發布給使用者,且大部分都是自動進行。

持續部署

軟體工程實務做法,可自動部署程式碼和設定的變更。

相較之下,持續推送軟體更新會在一個或多個階段要求手動核准,持續部署則會自動進行,不需要手動核准。

控制器推出作業

平行部署產生的推出作業。控制器推出作業不會部署至單一目標叢集或服務,而是針對每個子項目標各有一個子項推出作業

另請參閱「平行部署」和「多目標」。

自訂目標

目標使用使用者定義的自訂目標類型,而非支援的目標類型

陳述式

系統 (例如 Kubernetes 叢集) 的設定,用於說明預期狀態,並依賴該系統達成該狀態。與命令式設定形成對比,後者會說明達成該狀態的具體步驟。

除了算繪及部署宣告式 Kubernetes 資訊清單,Cloud Deploy 也會使用宣告式資源定義來定義算繪和傳送程序。skaffold.yamlclouddeploy.yaml 是 Skaffold 定義和交付管道定義的常見檔案名稱。

推送 pipeline

代表工作流程,可將應用程式推送至部署階段中的各個目標。

Cloud Deploy 說明文件使用「推送管道」一詞,是為了與您可能使用的其他管道 (例如 CI 管道) 區別。

在 Cloud Deploy 中,交付管道是在 YAML 設定檔 (通常為 clouddeploy.yaml) 中定義,該定義包含下列項目:

  • 部署目標
  • 這些目標之間的升級順序

另請參閱「管道執行個體」。

部署掛鉤

您可以在部署前後執行的任意動作瞭解詳情

部署參數

可新增至資訊清單,但不會在算繪時解析的預留位置。而是會在每個目標專屬資訊清單完成轉譯後,才指派這些預留位置的值。瞭解詳情

部署策略

這項技術可安全地將變更部署至應用程式,同時盡量減少對使用者的影響。

執行環境

Cloud Deploy 執行的 Google Cloud 資源集。當中包含下列項目:

  • Cloud Deploy 執行算繪和部署作業的預設或私人工作站集區

  • 呼叫 Cloud Deploy 執行算繪和部署作業的預設或替代執行環境服務帳戶

  • Cloud Storage 中已算繪資訊清單的預設或替代儲存位置。

保濕

請參閱「算繪」。

工作

要在推出作業中執行的特定作業,例如部署或驗證。 瞭解詳情

工作執行作業

工作執行作業是推出作業的子項資源,也是工作執行個體。也就是說,這代表嘗試執行部署或驗證等工作。瞭解詳情

資訊清單

Kubernetes 設定物件,用於建立、修改及刪除 Kubernetes 資源,例如 Pod、部署作業、服務或 Ingress。

Cloud Deploy 中的資訊清單有兩種狀態:已算繪或未算繪。未轉譯的資訊清單無法部署至目標。轉譯程序 (包括在資訊清單中填入特定值) 通常是由 Helm、Kustomize 和 kpt 等工具執行。Cloud Deploy 會使用 Skaffold 自動調度設定的算繪作業 (skaffold render 指令)。

另請參閱「算繪」。

多部署目標

設定或執行平行部署時,多目標是單一管道階段,但可包含多個執行階段環境。

另請參閱「子項目標」、「平行部署」和「控制器推出作業」。

平行部署

在同一個推送管道階段,同時將應用程式部署至多個目標。舉例來說,這項技術可讓您部署至多個叢集或服務。

階段

推出作業中邏輯上歸為一組的作業 (工作) 集合,例如部署或部署及驗證。瞭解詳情

管道

請參閱「推送管道

pipeline 執行個體

建立 release 時,系統會擷取推送管道的快照。Cloud Deploy 會保留這個快照,確保系統使用建立版本時定義的管道,一致地管理所有版本部署作業。release

詳情請參閱「每個版本的管道執行個體」。

管道不符

在建立版本後變更推送管道或目標時,與 release 相關聯的管道執行個體現在會與管道定義不同。

如果管道不符,Cloud Deploy 會提示您檢查定義,再升級版本或嘗試回溯。

詳情請參閱「每個版本的管道執行個體」。

惡化

設定檔中的設定,用於說明從一個「目標」或「多目標」到另一個目標的升級順序,例如從 teststaging 再到 prod

推送

根據推送管道中定義的程序,將版本從一個目標推進至另一個目標的程序。

註冊

以推送管道的形式向 Cloud Deploy 服務提供應用程式,以便由該服務管理應用程式的推送作業。

版本

代表要部署的變更 (程式碼、設定或兩者) 的 Cloud Deploy 資源。

如要瞭解發布生命週期,請參閱「Cloud Deploy 服務架構」文件。

算繪

如要準備在目標中部署的資訊清單,轉譯資訊清單主要是在於提供資訊清單中變數的值。Cloud Deploy 會使用 skaffold render 執行這項作業。

推出作業

這項資源會將版本與部署目標建立關聯。每個目標的每個版本都會建立一個 rollout,因此在推送管道中跨三個目標的簡單進度中,該版本會有三個 rollout 資源,每個目標各一個。

如果是較複雜的部署作業 (例如使用 Canary 部署策略),rollout 可能會更複雜。瞭解詳情

標準部署策略

標準部署策略是將應用程式部署至目標的預設方式。對於推送管道中定義的每個階段,應用程式都會完整部署至目標,每次都會取代先前部署的應用程式。

階段

推送管道中的單一目標或多個目標。舉例來說,在簡單的交付管道中,包含下列階段:

  • dev
  • staging
  • prod

每個階段都代表一個階段。

執行平行部署時,多重目標是單一階段,但子目標不是個別階段。

暫停 (推送管道)

禁止從特定推送管道建立及宣傳版本。詳情請參閱「暫停使用推送管道

目標

要將應用程式部署到的特定執行階段環境 (Kubernetes 叢集、Cloud Run 服務或其他支援的執行階段)。以及該環境的設定。

您可以在發布管道設定檔或獨立檔案中定義目標。

目標必須與推送管道位於相同專案和區域。但目標部署的執行階段可能位於不同的專案和區域。

目標也可以是多部署目標子目標,以支援平行部署

目標構件

用於在目標上顯示及部署應用程式的設定檔。包括 Kubernetes 資訊清單或 Cloud Run 服務定義、Skaffold 設定檔,以及用於建立這些項目的算繪來源。

驗證

能夠執行任意容器並進行測試,確認部署作業是否成功。進一步瞭解部署驗證