Artifact Registry supporta i pacchetti Java creati con Maven e Gradle.
Panoramica
Per acquisire familiarità con i pacchetti Java in Artifact Registry, puoi provare la quickstart. Puoi anche guardare un video introduttivo.
Per saperne di più, leggi le seguenti informazioni:
- Crea un repository di pacchetti Java per i tuoi pacchetti.
- Scopri come creare repository remoti e virtuali.
- Scopri come utilizzare repository remoti e virtuali in questo esempio di utilizzo dei repository.
- Concedi le autorizzazioni all'account che si connetterà al repository. Gli account di servizio per le integrazioni comuni con Artifact Registry dispongono di autorizzazioni predefinite per i repository nello stesso progetto.
- Configura i tuoi strumenti:
- Configura l'autenticazione per Maven o Gradle.
- Se vuoi utilizzare sbt come strumento di creazione per Scala e Java anziché utilizzare Maven o Gradle, è disponibile un plug-in sbt creato dalla community. Questa documentazione non descrive la configurazione o l'utilizzo dei client Scala.
- Configura Cloud Build per caricare e scaricare pacchetti.
- Scopri di più sul deployment negli ambienti di runtime di Google Cloud.
- Scopri di più sulla gestione dei pacchetti.
Versioni release e snapshot Maven
Maven distingue tra le versioni snapshot e release dei progetti Maven.
Snapshot
Uno snapshot è una versione pre-release di un progetto Java. Il numero di versione di uno snapshot include il suffisso -SNAPSHOT
nel POM (Project Object Model). Ad esempio, questa impostazione nel file pom.xml
riguarda una versione 1.0
del progetto in fase di sviluppo:
<version>1.0-SNAPSHOT</version>
Quando pubblichi un pacchetto da questo progetto, Maven 3 aggiunge automaticamente un timestamp al numero di versione dello snapshot in modo che ogni versione dello snapshot sia univoca. Maven 2 supporta versioni degli snapshot non univoche per sovrascrivere gli snapshot esistenti in un repository. Questo approccio crea problemi per la riproducibilità delle build, motivo per cui Maven 3 non supporta più snapshot non univoci.
Gli snapshot consentono di pubblicare in modo iterativo le versioni aggiornate di un pacchetto di pre-release senza incrementare il numero di versione nel progetto Maven ogni volta che pubblichi nel repository. Durante lo sviluppo, gli altri progetti con dipendenze nel pacchetto possono ottenere lo snapshot più recente della versione 1.0
dal repository.
Per informazioni dettagliate sulla sintassi e sull'ordinamento del numero di versione Maven, consulta la specifica dell'ordine di versione.
Release
Quando è tutto pronto per rilasciare un pacchetto, devi rimuovere il suffisso -SNAPSHOT
dal numero di versione nel file POM e aggiornare tutti i progetti che dipendono
dal pacchetto in modo che utilizzino la versione di release anziché la
versione dello snapshot.
Per elencare tutte le dipendenze degli snapshot, puoi filtrare la struttura delle dipendenze con il comando:
mvn dependency:tree -Dincludes=:::*-SNAPSHOT
Criterio di versione di Artifact Registry
Quando crei un repository Maven in Artifact Registry, puoi specificare un criterio di versione di Maven:
- Nessuno: archivia sia i pacchetti di snapshot che di release. Questa è l'impostazione predefinita.
- Snapshot: archivia solo i pacchetti di snapshot.
- Release: archivia solo i pacchetti di release.
Se scegli il criterio della versione degli snapshot, puoi anche specificare se il repository consente versioni degli snapshot non univoche che sovrascrivono versioni corrispondenti nel repository. Ti consigliamo di utilizzare versioni univoche, perché Maven 3 non supporta il modello di versione non univoco.
Panoramica video.
Questo video fornisce una panoramica di Artifact Registry e del modo in cui puoi utilizzare Artifact Registry con Cloud Build per lavorare con i pacchetti Java. Per ulteriori informazioni sull'utilizzo di Cloud Build con Artifact Registry, consulta Integrazione con Cloud Build