Cloud Deploy realiza sus operaciones con una imagen personalizada que incluye versiones de herramientas predeterminadas. Cloud Deploy te brinda flexibilidad y control sobre tu proceso de implementación, ya que te permite especificar las versiones de las herramientas que se usarán en las operaciones para renderizar, implementar y verificar tus manifiestos.
En esta página, se describe cómo se seleccionan las versiones de las herramientas de Cloud Deploy y el tiempo de mantenimiento y asistencia para cada versión de la herramienta.
Versiones de herramientas de Cloud Deploy compatibles
Cloud Deploy te permite seleccionar las versiones de las siguientes herramientas:
Cloud Deploy proporciona un repositorio de versiones de herramientas disponibles que puedes usar para tus operaciones. Todas estas versiones están sujetas a la política de mantenimiento y baja.
Versiones de herramientas predeterminadas
Si no se proporcionan versiones de herramientas especificadas por el usuario, se usan las versiones de herramientas predeterminadas durante la creación de la versión.
Cada semana, se lanza una nueva imagen de Cloud Deploy que contiene las versiones de herramientas más recientes disponibles en el momento en que se compila la imagen. Según los diferentes programas de lanzamiento de las herramientas, es posible que una nueva versión tarde hasta dos semanas en convertirse en la predeterminada.
Puedes ver las versiones predeterminadas ejecutando el siguiente comando:
gcloud deploy get-config \
--project=PROJECT \
--region=REGION \
--format 'yaml(defaultToolVersions)'
Control de versiones de herramientas fijas
De forma predeterminada, todas las versiones de la herramienta se guardan en el recurso de lanzamiento. Las versiones de las herramientas se asocian con una versión en el momento de su creación y se usan durante todo el ciclo de vida de esa versión, y no se pueden cambiar durante ese período. El ciclo de vida de la versión incluye todos los trabajos de renderización, implementación y otros trabajos relacionados con esa versión. Esto incluye la implementación en el destino final de la progresión y más allá (reversiones o reimplementaciones). Para encontrar las versiones de las herramientas asociadas con una versión, ejecuta el siguiente comando:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format='yaml(toolVersions)'
Los lanzamientos creados antes de la función de versiones de herramientas no tendrán toolVersions en su resultado. En cambio, puedes ver su versión de Skaffold con la marca --format 'yaml(skaffoldVersion)'.
Inhabilita el control de versiones de herramientas fijas
Si quieres inhabilitar el control de versiones fijo de las herramientas y usar las herramientas más recientes para una versión determinada, puedes especificar la palabra clave especial latest para cada herramienta. A continuación, se muestra un ejemplo de cómo crear una versión que usa las versiones más recientes de todas las herramientas:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=latest \
--helm-version=latest \
--kpt-version=latest \
--kubectl-version=latest \
--kustomize-version=latest \
--skaffold-version=latest
Cómo especificar una versión de herramienta en particular para usar
Puedes usar cualquiera de las versiones de herramientas compatibles. Para especificar la versión que deseas usar, incluye la marca adecuada para la herramienta específica:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--docker-version=DOCKER_VERSION \
--helm-version=HELM_VERSION \
--kpt-version=KPT_VERSION \
--kubectl-version=KUBECTL_VERSION \
--kustomize-version=KUSTOMIZE_VERSION \
--skaffold-version=SKAFFOLD_VERSION
En el caso de las herramientas en las que quieras usar la versión predeterminada, puedes omitir la marca de versión correspondiente.
Por ejemplo, el siguiente comando usa Skaffold 2.16.1 y Helm 3.18.3:
gcloud deploy releases create release-001 \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=2.16.1 \
--helm-version=3.18.3 \
--project=PROJECT \
--region=REGION
Compatibilidad de versiones de herramientas
Cloud Deploy se encarga de garantizar que las versiones de las herramientas sean compatibles en la imagen de Cloud Deploy. Si usas la función de reemplazo de versiones de herramientas para reemplazar versiones de herramientas en la imagen de Cloud Deploy, eres responsable de elegir versiones de herramientas compatibles.
Política de baja y mantenimiento de versiones de herramientas
Las versiones de herramientas se admiten durante 12 meses con un período de mantenimiento de 60 días, a partir del día en que se importan. Este período de mantenimiento significa que las versiones vinculadas a una versión de la herramienta seguirán siendo compatibles durante 60 días después de que venza la compatibilidad con esa versión de la herramienta. Aún puedes crear lanzamientos a partir de esas versiones, pero no puedes crear versiones con una versión de la herramienta que esté en el período de mantenimiento.
Después del período de mantenimiento de 60 días, ya no se admitirá la versión de la herramienta para ninguna operación. Ya no puedes crear lanzamientos de versiones a partir de un lanzamiento que use la versión no compatible. Sin embargo, se conservan todos los datos asociados con la versión.
Para ver las fechas de mantenimiento y vencimiento de la versión, ejecuta el siguiente comando:
gcloud deploy releases describe RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--project=PROJECT \
--region=REGION \
--format 'yaml(condition)'
También puedes ver la fecha de mantenimiento y vencimiento de una herramienta específica ejecutando el siguiente comando:
gcloud artifacts versions list \
--package TOOL_NAME \
--repository tools \
--project cd-image-prod \
--location=REGION
Las fechas de mantenimiento y vencimiento están disponibles como anotaciones en las versiones respectivas.
Versión heredada de Skaffold
Cloud Deploy solía proporcionar una lista específica de versiones de Skaffold compatibles. Estas versiones de Skaffold correspondían a una imagen de Cloud Deploy compilada con esa versión particular de Skaffold y otras herramientas. Las versiones de Skaffold se admitieron durante 12 meses, con un período de mantenimiento de 60 días.
Cloud Deploy se aleja de este modelo para mejorar su postura de seguridad. Sin la necesidad de proporcionar imágenes que correspondan a una versión particular de Skaffold, Cloud Deploy puede abordar las vulnerabilidades con mayor rapidez y actualizar las versiones predeterminadas de las herramientas con más frecuencia.
Las versiones existentes de Skaffold seguirán siendo compatibles hasta la fecha de vencimiento.
| Versión de Skaffold | A partir de la siguiente fecha | Inicio del mantenimiento | Vencimiento |
|---|---|---|---|
| 2.16 (notas de la versión) | 12 de mayo de 2025 | 14 de mayo de 2026 | 13 de julio de 2026 |
| 2.14 (notas de la versión) | 17 de febrero de 2025 | 25 de febrero de 2026 | 26 de abril de 2026 |
Puedes seguir creando versiones que usen estas versiones específicas de Skaffold con la marca --skaffold-version en el siguiente comando:
gcloud deploy releases create RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--skaffold-version=SKAFFOLD_VERSION \
--project=PROJECT \
--region=REGION