Administra versiones de herramientas

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.

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 de 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 su lugar, 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 use 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.