Crea la canalización de entrega y los destinos

En esta página, se describe cómo crear la canalización de entrega y los destinos que indican dónde y cómo Cloud Deploy implementará tu aplicación. Consulta el Esquema del archivo de configuración a fin de obtener una descripción de la estructura del archivo YAML para canalizaciones de entrega y destinos.

Acerca de la canalización de entrega y los destinos

Tu canalización de entrega describe una progresión de objetivos de implementación. Puedes definir esos destinos en el mismo archivo que la canalización de entrega o en uno o más archivos separados.

Después de crear la canalización de entrega y el archivo o los archivos de definición de destino, ejecuta gcloud deploy apply en cada uno de esos archivos para registrarlos como recursos de Cloud Deploy.

Define la canalización de entrega y los destinos

La estructura de la canalización de entrega y los archivos de configuración de destino se describe aquí.

Puedes llamar a este archivo como quieras. Por convención, una configuración de canalización de entrega que incluye definiciones de destino se denomina clouddeploy.yaml, y otra que hace referencia a objetivos definidos en uno o más archivos independientes se denomina delivery-pipeline.yaml.

El destino puede apuntar a GKE, GKE Enterprise o Cloud Run. Dentro de una canalización de entrega, todos los destinos deben hacer referencia al mismo tipo de entorno de ejecución (por ejemplo, todo GKE o GKE Enterprise).

Crea una canalización de entrega y destinos con la consola de Google Cloud

Puedes usar la consola de Google Cloud para crear una nueva canalización de entrega y un destino. Esto es útil a fin de probar Cloud Deploy, pero no es adecuado para cargas de trabajo de producción. También puedes usar la consola de Google Cloud para crear una versión.

Para crear la canalización de entrega, haz lo siguiente:

  1. En la página Canalizaciones de entrega, haz clic en Crear.

  2. Proporciona un nombre (o mantén el valor predeterminado) y, de forma opcional, una descripción.

  3. Selecciona tu región.

  4. Elige tu entorno de ejecución.

    Para GKE, elige Google Kubernetes Engine o Cloud Run si ese es el entorno de ejecución en el que realizas la implementación.

  5. En Destino nuevo, proporciona un nombre (o mantén el valor predeterminado).

  6. Si deseas solicitar aprobación en este destino, selecciona la casilla de verificación Requerir aprobación para lanzamientos.

  7. Si vas a usar una estrategia de implementación de versiones canary en este objetivo, selecciona la casilla de verificación Enable canary.

  8. Haz clic en Listo.

  9. Haz clic en Agregar destino y sigue estos pasos para cada destino adicional que desees crear.

  10. Cuando tengas todos tus destinos, haz clic en Crear para crear la canalización de entrega y los recursos de destino.

Registra la canalización de entrega y los destinos

Si creaste tu canalización y tus destinos con la consola de Google Cloud, no es necesario que lo hagas.

Para registrar tu canalización de entrega con Cloud Deploy, ejecuta gcloud deploy apply una vez por cada archivo de definición independiente. Es decir, si defines tres destinos en tres archivos, debes ejecutar el comando cuatro veces: una para la canalización de entrega y una vez para cada destino.

Con el siguiente comando, se registra una canalización de entrega con sus destinos definidos en el mismo archivo.

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

Ahora tienes una canalización de entrega que puede administrar la implementación de tus versiones y recursos de destino que puede usar cualquier canalización de entrega en el mismo proyecto y la misma región.

Un ejemplo de un solo archivo

El comando de este ejemplo registra una canalización de entrega y destinos que se definen en el mismo archivo:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

Un ejemplo que usa archivos diferentes

En este ejemplo, hay tres objetivos definidos en tres archivos separados, por lo que debes ejecutar cuatro comandos:

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

La marca --region es obligatoria, a menos que hayas establecido una configuración predeterminada (con gcloud config set deploy/region [REGION]). La región debe ser la misma para la canalización de entrega y todos los destinos a los que hace referencia la canalización.

Crea la canalización de entrega y los destinos con Terraform

También puedes usar el proveedor de Terraform de Google Cloud para crear una canalización de entrega y recursos de destino.

El proveedor de Terraform en versión beta de Google Cloud puede incluir compatibilidad para las funciones de Cloud Deploy en Vista previa.

Editar canalizaciones y destinos existentes

Más adelante, puedes editar cualquier canalización de entrega o configuración de destino y ejecutar gcloud deploy apply para actualizar la canalización o el recurso de destino. Sin embargo, esos cambios no afectan a ninguna versión existente, ya que los administra la canalización de entrega original.

Cómo exigir la aprobación manual de una implementación

Para requerir la aprobación manual de un destino determinado, incluye la siguiente propiedad en la definición del destino:

requireApproval: true

El valor predeterminado es false. Si omites esta propiedad de la configuración de la canalización de entrega o no proporcionas ningún valor, la implementación en este destino no requiere aprobación. (Sin embargo, el llamador que intenta ascender al destino aún necesita el permiso de IAM clouddeploy.rollouts.create).

Incluso puedes solicitar la aprobación manual en el primer destino. Cuando se crea una versión con la CLI para el primer destino, se crea automáticamente el rollout. Si se requiere aprobación, Cloud Deploy crea la rollout, pero en estado de lanzamiento pendiente hasta que se apruebe.

¿Qué sigue?