Trabaja con paquetes de Java

Artifact Registry admite paquetes de Java que compilas con Maven y Gradle.

Descripción general

Para familiarizarte con los paquetes de Java en Artifact Registry, puedes probar la guía de inicio rápido. También puedes ver un video de descripción general.

Cuando estés listo para obtener más información, lee lo siguiente:

  1. Crea un repositorio de paquetes de Java para tus paquetes.
  2. Otorga permisos a la cuenta que se conectará con el repositorio. Las cuentas de servicio para integraciones comunes con Artifact Registry tienen permisos predeterminados en los repositorios del mismo proyecto.
  3. Configura las herramientas:
  4. Obtén más información sobre cómo administrar paquetes

Instantáneas y versiones de actualización de Maven

Maven distingue entre versiones de instantánea y lanzamiento de los proyectos de Maven.

Instantáneas

Una instantánea es una versión previa al lanzamiento de un proyecto de Java. El número de versión para una instantánea incluye el sufijo -SNAPSHOT en tu modelo de objetos del proyecto (POM). Por ejemplo, esta configuración en el archivo pom.xml corresponde a una versión 1.0 del proyecto que está en desarrollo:

<version>1.0-SNAPSHOT</version>

Cuando publicas un paquete de este proyecto, Maven 3 agrega de forma automática una marca de tiempo al número de versión de la instantánea para que cada versión sea única. Maven 2 admite versiones de instantáneas no únicas como medio para reemplazar las instantáneas existentes en un repositorio. Este enfoque es problemático para la reproducibilidad de las compilaciones, por lo que Maven 3 ya no admite instantáneas no únicas.

Las instantáneas te permiten publicar de manera iterativa las versiones actualizadas de un paquete previo al lanzamiento sin aumentar el número de versión en el proyecto de Maven cada vez que publicas en el repositorio. Durante el desarrollo, otros proyectos con dependencias en el paquete pueden obtener la instantánea más reciente de la versión 1.0 del repositorio.

Consulta las especificaciones del orden de las versiones para obtener detalles sobre la sintaxis del número de versión de Maven y el orden de clasificación.

Versiones

Cuando estés listo para lanzar un paquete, quita el sufijo -SNAPSHOT del número de versión en el archivo POM y actualiza cualquier proyecto que dependa del paquete para que use la versión de actualización en lugar de la versión de instantánea.

Para enumerar todas las dependencias de instantáneas, puedes filtrar el árbol de dependencias con el siguiente comando:

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Política de versiones de Artifact Registry

Cuando creas un repositorio de Maven en Artifact Registry, puedes especificar una política de versión de Maven:

  • None: Almacena paquetes de instantáneas y de versiones. Esta es la configuración predeterminada.
  • Snapshot: Almacena solo paquetes de instantáneas.
  • Lanzamiento: Solo almacena paquetes de lanzamiento.

Si eliges la política de la versión de instantánea, también puedes especificar si el repositorio permite versiones de instantáneas no únicas que reemplacen las versiones coincidentes en el repositorio. Recomendamos usar versiones únicas, ya que Maven 3 no admite el modelo de versión que no es único.

Descripción general del video

En este video, se proporciona una descripción general de Artifact Registry y cómo puedes usar Artifact Registry con Cloud Build para trabajar con paquetes de Java. Para obtener más información sobre el uso de Cloud Build con Artifact Registry, consulta Integración con Cloud Build.