gcloud deploy releases create

NAME
gcloud deploy releases create - creates a new release, delivery pipeline qualified
SYNOPSIS
gcloud deploy releases create (RELEASE : --delivery-pipeline=DELIVERY_PIPELINE --region=REGION) [--annotations=[KEY=VALUE,…]] [--deploy-parameters=[KEY=VALUE,…]] [--description=DESCRIPTION] [--gcs-source-staging-dir=GCS_SOURCE_STAGING_DIR] [--ignore-file=IGNORE_FILE] [--labels=[KEY=VALUE,…]] [--skaffold-version=SKAFFOLD_VERSION] [--to-target=TO_TARGET] [--build-artifacts=BUILD_ARTIFACTS     | --images=[NAME=TAG,…]] [--disable-initial-rollout     | --enable-initial-rollout --initial-rollout-annotations=[KEY=VALUE,…] --initial-rollout-labels=[KEY=VALUE,…] --initial-rollout-phase-id=INITIAL_ROLLOUT_PHASE_ID] [--from-k8s-manifest=FROM_K8S_MANIFEST     | --from-run-manifest=FROM_RUN_MANIFEST     | --skaffold-file=SKAFFOLD_FILE --source=SOURCE; default="."] [GCLOUD_WIDE_FLAG]
DESCRIPTION
Creates a new release, delivery pipeline qualified.
EXAMPLES
To create a release with source located at storage URL gs://bucket/object.zip and the first rollout in the first target of the promotion sequence:
gcloud deploy releases create my-release --source=`gs://bucket/object.zip` --delivery-pipeline=my-pipeline --region=us-central1

To create a release with source located at current directory and deploy a rollout to target prod :

gcloud deploy releases create my-release --delivery-pipeline=my-pipeline --region=us-central1 --to-target=prod

The following command creates a release without a skaffold.yaml as input, and generates one for you:

gcloud deploy releases create my-release --delivery-pipeline=my-pipeline --region=us-central1 --from-k8s-manifest=path/to/kubernetes/k8.yaml

The current UTC date and time on the machine running the gcloud command can also be included in the release name by adding $DATE and $TIME parameters:

gcloud deploy releases create 'my-release-$DATE-$TIME' --delivery-pipeline=my-pipeline --region=us-central1

If the current UTC date and time is set to 2021-12-21 12:02, then the created release will have its name set as my-release-20211221-1202.

When using these parameters, please be sure to wrap the release name in single quotes or else the template parameters will be overridden by environment variables.

POSITIONAL ARGUMENTS
Release resource - The name of the Release. The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument release on the command line with a fully specified name;
  • provide the argument --project on the command line;
  • set the property core/project.

This must be specified.

RELEASE
ID of the release or fully qualified identifier for the release.

To set the release attribute:

  • provide the argument release on the command line.

This positional argument must be specified if any of the other arguments in this group are specified.

--delivery-pipeline=DELIVERY_PIPELINE
The delivery pipeline associated with the release. Alternatively, set the property [deploy/delivery-pipeline].

To set the delivery-pipeline attribute:

  • provide the argument release on the command line with a fully specified name;
  • provide the argument --delivery-pipeline on the command line;
  • set the property deploy/delivery_pipeline.
--region=REGION
The Cloud region for the release. Alternatively, set the property [deploy/region].

To set the region attribute:

  • provide the argument release on the command line with a fully specified name;
  • provide the argument --region on the command line;
  • set the property deploy/region.
FLAGS
--annotations=[KEY=VALUE,…]
Annotations to apply to the release. Annotations take the form of key/value string pairs.

Examples:

Add annotations:

gcloud deploy releases create --annotations="from_target=test,status=stable"
--deploy-parameters=[KEY=VALUE,…]
Deployment parameters to apply to the release. Deployment parameters take the form of key/value string pairs.

Examples:

Add deployment parameters:

gcloud deploy releases create --deploy-parameters="key1=value1,key2=value2"
--description=DESCRIPTION
Description of the release.
--gcs-source-staging-dir=GCS_SOURCE_STAGING_DIR
A directory in Google Cloud Storage to copy the source used for staging the build. If the specified bucket does not exist, Cloud Deploy will create one. If you don't set this field, gs://[DELIVERY_PIPELINE_ID]_clouddeploy/source is used.
--ignore-file=IGNORE_FILE
Override the .gcloudignore file and use the specified file instead.
--labels=[KEY=VALUE,…]
Labels to apply to the release. Labels take the form of key/value string pairs.

Examples:

Add labels:

gcloud deploy releases create --labels="commit=abc123,author=foo"
--skaffold-version=SKAFFOLD_VERSION
Version of the Skaffold binary.
--to-target=TO_TARGET
Specifies a target to deliver into upon release creation
At most one of these can be specified:
--build-artifacts=BUILD_ARTIFACTS
Reference to a Skaffold build artifacts output file from skaffold build --file-output=BUILD_ARTIFACTS. If you aren't using Skaffold, use the --images flag below to specify the image-names-to-tagged-image references.
--images=[NAME=TAG,…]
Reference to a collection of individual image name to image full path replacements.

For example:

gcloud deploy releases create foo --images image1=path/to/image1:v1@sha256:45db24
At most one of these can be specified:
--disable-initial-rollout
Skips creating a rollout in the first target defined in the delivery pipeline.
--enable-initial-rollout
Creates a rollout in the first target defined in the delivery pipeline. This is the default behavior.
--initial-rollout-annotations=[KEY=VALUE,…]
Annotations to apply to the initial rollout when creating the release. Annotations take the form of key/value string pairs.

Examples:

Add annotations:

gcloud deploy releases create --initial-rollout-annotations="from_target=test,status=stable"
--initial-rollout-labels=[KEY=VALUE,…]
Labels to apply to the initial rollout when creating the release. Labels take the form of key/value string pairs.

Examples:

Add labels:

gcloud deploy releases create initial-rollout-labels="commit=abc123,author=foo"
--initial-rollout-phase-id=INITIAL_ROLLOUT_PHASE_ID
The phase to start the initial rollout at when creating the release. The phase ID must be a valid phase on the rollout. If not specified, then the rollout will start at the first phase.

Examples:

Start rollout at stable phase:

gcloud deploy releases create --initial-rollout-phase-id=stable
At most one of these can be specified:
--from-k8s-manifest=FROM_K8S_MANIFEST
The path to a Kubernetes manifest, which Cloud Deploy will use to generate a skaffold.yaml file for you (for example, foo/bar/k8.yaml). The generated Skaffold file will be available in the Google Cloud Storage source staging directory (see --gcs-source-staging-dir flag) after the release is complete.
--from-run-manifest=FROM_RUN_MANIFEST
The path to a Cloud Run manifest, which Cloud Deploy will use to generate a skaffold.yaml file for you (for example, foo/bar/service.yaml). The generated Skaffold file will be available in the Google Cloud Storage source staging directory (see --gcs-source-staging-dir flag) after the release is complete.
--skaffold-file=SKAFFOLD_FILE
Path of the skaffold file absolute or relative to the source directory.

Examples:

Use Skaffold file with relative path: The current working directory is expected to be some part of the skaffold path (e.g. the current working directory could be /home/user)

gcloud deploy releases create --source=/home/user/source --skaffold-file=config/skaffold.yaml

The skaffold file absolute file path is expected to be: /home/user/source/config/skaffold.yaml Use Skaffold file with absolute path and with or without source argument:

gcloud deploy releases create --source=/home/user/source --skaffold-file=/home/user/source/config/skaffold.yaml
gcloud deploy releases create --skaffold-file=/home/user/source/config/skaffold.yaml
--source=SOURCE; default="."
The location of the source that contains skaffold.yaml. The location can be a directory on a local disk or a gzipped archive file (.tar.gz) in Google Cloud Storage. If the source is a local directory, this command skips the files specified in the --ignore-file. If --ignore-file is not specified, use.gcloudignore file. If a .gcloudignore file is absent and a .gitignore file is present in the local source directory, gcloud will use a generated Git-compatible .gcloudignore file that respects your .gitignored files. The global .gitignore is not respected. For more information on .gcloudignore, see gcloud topic gcloudignore.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

NOTES
These variants are also available:
gcloud alpha deploy releases create
gcloud beta deploy releases create