Google Cloud Deploy Terminology

The terms in this document are defined according to how they're used in Google Cloud Deploy.

Application

The software you are going to deploy using Google Cloud Deploy.

Application delivery

Delivery of the assets necessary to deploy an application into an intended target environment. In Google Cloud Deploy, application delivery consists of generating, promoting, and delivering your application's Kubernetes manifests into the cluster.

Continuous delivery

A software engineering practice in which changes can be released to users safely, frequently, and mostly automatically.

Continuous deployment

A software engineering practice that results in changes to code and configuration being deployed automatically.

Whereas continuous delivery requires manual approval at one or more stages, continuous deployment is automatic, with no manual approval required.

Declarative

Configuration for a system, such as a Kubernetes cluster, that describes the intended state and relies on that system to achieve that state. Contrast with imperative configuration, in which you describe the specific steps to achieve that state.

Besides rendering and deploying declarative Kubernetes manifests, Google Cloud Deploy uses declarative resource definitions to define the rendering and delivery process. skaffold.yaml and clouddeploy.yaml are typical filenames for the Skaffold definition and delivery-pipeline definition.

Delivery pipeline

A representation of the workflow that delivers an application to each target in a deployment progression.

Documentation for Google Cloud Deploy uses the term "delivery pipeline" to distinguish it from other pipelines you might use, such as a CI pipeline.

In Google Cloud Deploy, the delivery pipeline is defined in a YAML configuration file—typically clouddeploy.yaml—and that definition consists of the following:

  • Deployment targets
  • The promotion sequence among those targets

See also Pipeline instance.

Execution environment

A set of Google Cloud resources on which Google Cloud Deploy runs. It consists of the following:

  • The default or private worker pool in which Google Cloud Deploy executes rendering and deploying actions

  • The default or alternate execution environment service account that calls Google Cloud Deploy to perform rendering and deploying

  • The default or alternate storage location for rendered manifests in Cloud Storage.

Hydrating

See Render.

Manifest

A Kubernetes configuration object that is used to create, modify, and delete Kubernetes resources such as pods, deployments, services, or ingresses.

Manifests in Google Cloud Deploy exist in one of two states: rendered or unrendered. An unrendered manifest is not ready for deployment into a target. The rendering process, which includes populating specific values into the manifest, is often performed by tools like Helm, Kustomize, and kpt. Google Cloud Deploy uses Skaffold to orchestrate the rendering of configuration (the skaffold render command).

See also, Render.

Pipeline

See Delivery pipeline

Pipeline instance

A snapshot of a delivery pipeline, taken when a release is created. Google Cloud Deploy keeps this snapshot to ensure that all deployments of a release are consistently managed using the pipeline as it was defined when the release was created.

See Pipeline instances per release for more information.

Pipeline mismatch

When a delivery pipeline or target is changed after a release is created, the pipeline instance associated with the release is now different from the pipeline definition.

If there's a pipeline mismatch, Google Cloud Deploy prompts you to examine the definitions before you promote a release or attempt a rollback.

See Pipeline instances per release for more information.

Progression

A configuration, in clouddeploy.yaml, that describes a promotion sequence from one target to another—for example from test to staging to prod.

Promotion

The process of advancing a release from one target to another, according to the progression defined in the delivery pipeline.

Register

To provide an application to the Google Cloud Deploy service, in the form of a delivery pipeline, so that the application's delivery is managed by the service.

Release

A Google Cloud Deploy resource that represents the changes (code, configuration or both) to be deployed.

Render

To prepare a manifest for deployment in the target. Rendering a manifest consists mainly of providing values for the variables in the manifest.

Rollout

A resource that associates a release with a deployment target. A rollout is created per release per target, so in a simple progression with three targets, there would be three rollouts.

Target

The specific runtime environment (Kubernetes cluster) into which to deploy the application. Also, the configuration for that environment.

You can define your targets in your delivery pipeline configuration file, or in a separate file.