Artifact Registry supporta i pacchetti Java che crei con Maven e Gradle.
Panoramica
Per familiarizzare con i pacchetti Java in Artifact Registry, puoi provare la guida rapida.
Quando vuoi 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 i repository remoti e virtuali in questo esempio di utilizzo del 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 gli strumenti:
- Configura l'autenticazione per Maven o Gradle.
- Se vuoi utilizzare sbt come strumento di compilazione per Scala e Java anziché 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 i pacchetti.
- Scopri di più sul deployment negli Google Cloud ambienti di runtime.
- Scopri di più sulla gestione dei pacchetti.
Versioni di release e snapshot di Maven
Maven distingue le versioni snapshot e release dei progetti Maven.
Snapshot
Uno snapshot è una versione pre-release di un progetto Java. Il numero di versione per uno snapshot include il suffisso -SNAPSHOT
nel tuo modello di oggetti del progetto (POM). Ad esempio, questa impostazione nel file pom.xml
è per 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 dell'istantanea in modo che ogni versione dell'istantanea sia univoca. Maven 2 supporta le versioni degli snapshot non univoche come mezzo per sovrascrivere gli snapshot esistenti in un repository. Questo approccio è problematico per la riproducibilità delle build, motivo per cui Maven 3 non supporta più gli snapshot non univoci.
Gli snapshot ti consentono di pubblicare in modo iterativo le versioni aggiornate di un pacchetto pre-release senza incrementare il numero di versione nel progetto Maven ogni volta che pubblichi nel repository. Durante lo sviluppo,
altri progetti con dipendenze dal pacchetto possono ottenere l'istantanea più recente della versione 1.0
dal repository.
Per maggiori dettagli sulla sintassi e sull'ordinamento del numero di versione di Maven, consulta la specifica dell'ordine delle versioni.
Release
Quando è tutto pronto per rilasciare un pacchetto, rimuovi il suffisso -SNAPSHOT
dal numero di versione nel file POM e aggiorna i progetti che dipendono dal pacchetto in modo che utilizzino la versione release anziché la versione snapshot.
Per elencare tutte le dipendenze degli snapshot, puoi filtrare l'albero 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 Maven:
- Nessuno: vengono archiviati sia i pacchetti snapshot sia quelli release. Questa è l'impostazione predefinita.
- Snapshot: memorizza solo i pacchetti di snapshot.
- Release: solo pacchetti di release dei negozi.
Se scegli il criterio per le versioni degli snapshot, puoi anche specificare se il repository consente versioni degli snapshot non univoche che sovrascrivono le versioni corrispondenti nel repository. Ti consigliamo di utilizzare versioni univoche poiché Maven 3 non supporta il modello di versione non univoca.