The terms in this document are defined according to how they're used in Cloud Deploy.
Abandon
To permanently deactivate a release.
Application
The software you are going to deploy using Cloud Deploy.
Application delivery
Delivery of the assets necessary to deploy an application into an intended target environment. In Cloud Deploy, application delivery consists of generating, promoting, and delivering your application's Kubernetes manifests into the cluster.
Artifact
The container images to be deployed (build artifacts), and configuration files, such as manifests and Skaffold configs, that are used for the deployment (target artifacts).
Automation
Automation lets you configure your delivery pipeline and targets so that some actions can be performed on releases and rollouts for that pipeline, without requiring human intervention. For example, you can set up your delivery pipeline so that promotion into a specific target happens automatically, under the right circumstances. Learn more.
Automation rule
The behavior of an automation is defined in part by the automation rule. An automation rule defines what is automated, for example, promoting a release.
The available automation rules are listed in the document Using automation rules.
Automation run
An instance of an Automation.
Canary deployment
A deployment strategy in which you roll out your changes to a subset of users first, test it to ensure reliability, then roll it out fully.
Child rollout
For Parallel deployment, the rollout generated to deploy to a child target.
See also, Controller rollout.
Child target
For Parallel deployment, a target that represents one of the multiple GKE, GKE Enterprise, or Cloud Run individual targets you're deploying to simultaneously.
See also, Multi-target, Parallel deployment, Child rollout.
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.
Controller rollout
A rollout generated for parallel deployment. The controller rollout isn't used to deploy to a single target cluster or service; rather, it has one child rollout for each child target.
See also, Parallel deployment, Multi-target.
Custom target
A target that uses a user-defined custom target type rather than one of the supported target types.
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,
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 Cloud Deploy uses the term "delivery pipeline" to distinguish it from other pipelines you might use, such as a CI pipeline.
In 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.
Deploy hook
An arbitrary action you can run before or after deploying. Learn more.
Deploy parameters
Placeholders that can be added to a manifest but that are not resolved as part of rendering. Instead, values for these placeholders are assigned after each target-specific manifest is rendered. Learn more.
Deployment strategy
A technique for safely deploying changes to your application while minimizing impact to users.
Execution environment
A set of Google Cloud resources on which Cloud Deploy runs. It consists of the following:
The default or private worker pool in which Cloud Deploy executes rendering and deploying actions
The default or alternate execution environment service account that calls Cloud Deploy to perform rendering and deploying
The default or alternate storage location for rendered manifests in Cloud Storage.
Hydrating
See Render.
Job
A specific operation to be performed on a rollout, such as deploy or verify. Learn more.
Job run
A child resource of a rollout, the job run is an instance of a job. That is, it represents an attempt to perform a job such as deploy or verify. Learn more.
Manifest
A Kubernetes configuration object that is used to create, modify, and delete Kubernetes resources such as pods, deployments, services, or ingresses.
Manifests in 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.
Cloud Deploy uses Skaffold to orchestrate the rendering of
configuration (the skaffold render
command).
See also, Render.
Multi-target
When configuring or performing a parallel deployment, a multi-target is a single pipeline stage, but can comprise more than one target runtime.
See also, Child target, Parallel deployment, Controller rollout.
Parallel deployment
The practice of deploying an application to more than one target at the same time, in the same delivery pipeline stage. This technique allows you to deploy to multiple clusters or services in production, for example.
Phase
The collection of operations (jobs) in a rollout that are logically grouped together, for example a deploy or a deploy and verify. Learn more.
Pipeline
Pipeline instance
A snapshot of a delivery pipeline, taken when a release
is created.
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, 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 your delivery pipeline configuration file, 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 Cloud Deploy service, in the form of a delivery pipeline, so that the application's delivery is managed by the service.
Release
A Cloud Deploy resource that represents the changes (code, configuration or both) to be deployed.
The release lifecycle is described in the document Cloud Deploy service architecture.
Render
To prepare a manifest for deployment in the target. Rendering a manifest
consists mainly of providing values for the variables in the manifest.
Cloud Deploy does this using skaffold render
.
Rollout
A resource that associates a release with a deployment
target. A rollout
is created per release per target, so in a simple
progression across three targets in a delivery pipeline, there would be three
rollout
resources for the release—one for each target.
For more complex deployments, for example using a canary deployment strategy,
a rollout
can be more complicated. Learn more.
Standard deployment strategy
The standard deployment strategy is the default way of deploying an application to a target. For each stage defined in the delivery pipeline, your application is deployed fully to the target, each time replacing the application as it was previously deployed.
Stage
One target or multi-target in a delivery pipeline. For example, in a simple delivery pipeline that has the following stages:
dev
staging
prod
Each of those is one stage.
When performing parallel deployment, the multi-target is a single stage, but the child targets are not separate stages.
Suspend (a delivery pipeline)
To prevent creation and promotion of releases from a given delivery pipeline. For more information, see Suspending a delivery pipeline
Target
The specific runtime environment (Kubernetes cluster, Cloud Run service, or other supported runtime) 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.
A target can also be a multi-target or a child target to support parallel deployment.
Target artifact
A configuration file used for rendering and deploying an application on a target. These include Kubernetes manifest or Cloud Run service definition, Skaffold configuration files, and the rendering source used to create these.
Verification
The ability to confirm that a deployment was successful, by running an arbitrary container, with tests. Learn more about deployment verification.