Artifact Registry admite paquetes de Java que se compilan con Maven y Gradle.
Información general
Para familiarizarte con los paquetes de Java en Artifact Registry, puedes probar la guía de inicio rápido.
Cuando lo tengas todo listo para obtener más información, consulta lo siguiente:
- Crea un repositorio de paquetes Java para tus paquetes.
- Consulta cómo crear repositorios remotos y virtuales.
- Consulta cómo se pueden usar los repositorios remotos y virtuales en este ejemplo de uso de repositorios.
- Concede permisos a la cuenta que se conectará con el repositorio. Las cuentas de servicio de las integraciones comunes con Artifact Registry tienen permisos predeterminados para los repositorios del mismo proyecto.
- Configura tus herramientas:
- Configura la autenticación para Maven o Gradle.
- Si quieres usar sbt como herramienta de compilación para Scala y Java en lugar de Maven o Gradle, tienes disponible un complemento sbt creado por la comunidad. En esta documentación no se describe la configuración ni el uso de clientes de Scala.
- Configura Cloud Build para subir y descargar paquetes.
- Consulta información sobre cómo implementar en Google Cloud entornos de ejecución.
- Consulta cómo gestionar paquetes.
Versiones de lanzamiento y de snapshot de Maven
Maven distingue entre las versiones de instantánea y de lanzamiento de tus proyectos de Maven.
Capturas
Una instantánea es una versión preliminar de un proyecto de Java. El número de versión de una instantánea incluye el sufijo -SNAPSHOT
en el modelo de objetos del proyecto (POM). Por ejemplo, este ajuste del archivo pom.xml
es para una versión 1.0
del proyecto que está en desarrollo:
<version>1.0-SNAPSHOT</version>
Cuando publicas un paquete desde este proyecto, Maven 3 añade automáticamente una marca de tiempo al número de versión de la instantánea para que cada versión de la instantánea sea única. Maven 2 admite versiones de instantáneas no únicas como medio para sobrescribir instantáneas existentes en un repositorio. Este enfoque plantea problemas para la reproducibilidad de las compilaciones, por lo que Maven 3 ya no admite snapshots no únicos.
Las versiones de vista previa te permiten publicar de forma iterativa versiones actualizadas de un paquete de pre-lanzamiento sin tener que aumentar el número de versión de tu proyecto de Maven cada vez que publiques en el repositorio. Durante el desarrollo, otros proyectos con dependencias del paquete pueden obtener la última versión 1.0
del repositorio.
Consulta la especificación del orden de las versiones para obtener información sobre la sintaxis del número de versión de Maven y el orden de clasificación.
Versiones
Cuando quieras lanzar un paquete, quita el sufijo -SNAPSHOT
del número de versión del archivo POM y actualiza los proyectos que dependan del paquete para que usen la versión de lanzamiento en lugar de la versión de la instantánea.
Para enumerar todas las dependencias de una instantánea, 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 versiones de Maven:
- Ninguno: almacena tanto los paquetes de la captura como los de la versión. Esta es la configuración predeterminada.
- Instantánea: solo almacena paquetes de instantáneas.
- Lanzamiento: solo almacena paquetes de lanzamiento.
Si eliges la política de versiones de instantáneas, también puedes especificar si el repositorio permite versiones de instantáneas no únicas que sobrescriban las versiones coincidentes del repositorio. Te recomendamos que uses versiones únicas, ya que Maven 3 no admite el modelo de versiones no únicas.