Cloud Deploy 術語

本文件中的術語定義會根據 Cloud Deploy 中的用法而定義。

放棄

如何永久停用版本

應用程式

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

應用程式推送

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

構件

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

自動化

您可以透過自動化功能設定發布管道和目標,讓系統在該管道的發布和推出作業中執行部分動作,而無須人為介入。舉例來說,您可以設定提交管道,在適當情況下自動將特定目標納入促銷活動。瞭解詳情

自動化作業規則

自動化動作的行為部分由自動化規則定義。自動化規則會定義自動化動作,例如發布版本。

可用的自動化規則列於「使用自動化規則」文件中。

自動化執行作業

Automation 的例項。

初期測試部署

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

子項目推出作業

對於平行部署,系統會產生推出作業,以便部署至子目標

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

子目標

針對並行部署,目標代表您同時部署至多個 GKE、GKE Enterprise 或 Cloud Run 個別目標中的其中一個。

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

持續推送軟體更新

一種軟體工程做法,可讓變更內容安全地、頻繁地 (且大多自動化) 發布給使用者。

持續部署

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

持續推送需要在一個或多個階段手動核准,而持續部署則是自動執行,不需要手動核准。

控制器推出作業

平行部署產生的推行作業。控制器發布作業不會用於部署至單一目標叢集或服務,而是為每個子目標提供一個子項發布作業

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

自訂目標

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

陳述式

系統設定 (例如 Kubernetes 叢集),可說明所需狀態,並依賴該系統達成該狀態。與命令式設定相反,您必須說明要採取哪些具體步驟才能達到該狀態。

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

推送 pipeline

代表工作流程,可在部署進度中將應用程式推送至各個目標。

Cloud Deploy 說明文件使用「delivery」管道一詞,與您可能使用的其他管道 (例如 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

請參閱「推送管道

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 設定檔,以及用於建立這些檔案的算繪來源。

驗證

透過測試執行任意容器,確認部署是否成功。進一步瞭解部署驗證