En este documento, se describe cómo configurar tareas en Cloud Deploy. Una tarea es una unidad de trabajo que se puede usar como un gancho de implementación, para la verificación de la implementación, para el análisis de la implementación o para una renderización personalizada o una implementación personalizada en un tipo de destino personalizado.
Puedes configurar una tarea en la canalización de entrega (como parte de la estrategia) o en la renderización o implementación del tipo de destino personalizado.
Con las tareas, puedes usar parámetros del sistema si los incluyes en la configuración de la tarea como plantillas.
Cómo definir una tarea
Puedes definir una tarea en la configuración de tu canalización de entrega o como parte de una definición de tipo de destino personalizado. El siguiente código YAML muestra la sección task que se usa en ambos casos:
task:
type: container
image: IMAGE
command: [COMMANDS_TO_RUN]
args: [LIST_OF_ARGS]
env:
- KEY1:VAL1
- KEY2:VAL2
...
Para la configuración de task, haz lo siguiente:
typeEspecifica el tipo de tarea que se configura. Solo se admite
container.imageEs la ruta de acceso a la imagen del contenedor.
commandEs el comando o los comandos que se ejecutarán en el contenedor.
argsEs una colección de argumentos para
command.envEs una colección de variables de entorno que se proporcionarán al contenedor en ejecución.
Parámetros del sistema como variables de entorno de la tarea
Cloud Deploy ofrece parámetros generados por el sistema que puedes usar como variables de entorno en tus tareas, con el campo env en la tarea container. Los parámetros basados en plantillas pueden estar presentes en los campos de clave o valor de una entrada de mapa env.
Estos son algunos ejemplos de casos de uso:
Pasar el nombre del servicio de Cloud Run, la URL del servicio y el nombre de la revisión como variables de entorno
task: type: container image: my-image command: ["/bin/bash"] env: - RUN_SERVICE_NAME : "${{ render.metadata.cloud_run.service.name }}" - RUN_SERVICE_URL: "${{ rollout.metadata.cloud_run.service_url }}" - RUN_REVISION_NAME: "${{ render.metadata.cloud_run.revision.name }}"Usar varios parámetros en una sola entrada
task: type: container image: my-image command: ["/bin/bash"] env: - DEPLOY_PARAMS_KEY : "${{ deploy_params['FOO'] }}-with-${{ deploy_params['BAR'] }}" - "${{ project.id }}_${{ location }}" : "${{ target.id }}"
Parámetros del sistema disponibles
Cloud Deploy proporciona los siguientes parámetros del sistema que puedes usar en la configuración de tus tareas con este formato:
${{ parameter }}
$${{ }}
A continuación, se muestra la lista de parámetros disponibles para la creación de plantillas:
| Nombre | Definición |
|---|---|
location |
Es la región que contiene los recursos de Cloud Deploy. Disponible en la creación de la versión. |
project.num |
Número del proyecto Google Cloud que contiene los recursos de Cloud Deploy. Disponible en la creación de la versión. |
project.id |
ID del proyecto Google Cloud . Disponible en la creación de la versión. |
delivery_pipeline.name |
Es el nombre del recurso completamente especificado de la canalización de entrega. Disponible en la creación de la versión. |
delivery_pipeline.id |
Es el ID de la canalización de entrega. Disponible en la creación de la versión. |
target.name |
Es el nombre del recurso de destino especificado por completo. Disponible en la creación de la versión. |
target.id |
Es el ID del objetivo. Disponible en la creación de la versión. |
release.name |
Es el nombre del recurso de la versión especificado por completo. Disponible en la creación de la versión. |
release.id |
Es el ID de la versión. Disponible en la creación de la versión. |
rollout.name |
Es el nombre del recurso de la versión completamente especificado. Disponible en la creación del lanzamiento. |
rollout.id |
Es el ID de la versión. Disponible en la creación del lanzamiento. |
job.id |
Es el ID del trabajo que se está ejecutando. Disponible en la creación del lanzamiento. |
phase.id |
La fase de la versión que contiene el trabajo para las tareas. Disponible en la creación del lanzamiento. |
job_run.name |
Es el nombre del recurso completamente especificado de la ejecución del trabajo que representa la ejecución actual del trabajo. Disponible en la creación del lanzamiento. |
job_run.id |
ID de la ejecución
del trabajo que representa la ejecución actual del trabajo. Disponible en la creación del lanzamiento. |
deploy_params |
Es un mapa de los parámetros de implementación asociados con el destino. Ejemplo: deploy_params['KEY']
Si intentas acceder a una clave que no existe, se generará una cadena vacía. Disponible en la creación de la versión. |
Para los destinos de tipo RUN, se aplica lo siguiente: |
|
cloud_run.project |
Es el proyecto en el que se creó el servicio de Cloud Run. Disponible en la creación de la versión. |
cloud_run.location |
Región en la que se implementa el servicio de Cloud Run. Disponible en la creación de la versión. |
render.metadata.cloud_run.service.name |
Nombre del servicio de Cloud Run implementado. Disponible después de que se completa la operación de renderización. |
render.metadata.cloud_run.service.id |
Es el ID del servicio de Cloud Run implementado. Disponible después de que se completa la operación de renderización. |
rollout.metadata.cloud_run.service.url |
Es la URL que los usuarios finales usarán para acceder a tu servicio. Puedes encontrarlos en los detalles del servicio de Cloud Run de tu servicio, en la consola de Google Cloud . Disponible después de que se complete la operación de implementación. |
render.metadata.cloud_run.revision.name |
Es el nombre completo de la revisión del servicio de Cloud Run que se implementa. Disponible después de que se completa la operación de renderización. |
render.metadata.cloud_run.revision.id |
Es el ID de revisión del servicio de Cloud Run que se implementará. Disponible después de que se completa la operación de renderización. |
rollout.metadata.cloud_run.previous_revision.name |
Es el nombre completo de la revisión anterior del servicio de Cloud Run que se implementa. Disponible después de que se complete la operación de implementación. |
rollout.metadata.cloud_run.previous_revision.id |
Es el ID de revisión anterior del servicio de Cloud Run que se está
implementando. Disponible después de que se complete la operación de implementación. |
Para los destinos de tipo GKE, se aplica lo siguiente: |
|
gke.cluster.name |
Es el nombre del recurso completamente especificado del clúster de GKE. Disponible en la creación de la versión. |
gke.cluster.id |
|