Artifact Registry supporta i pacchetti Java creati con Maven e Gradle.
Panoramica
Per familiarizzare con i pacchetti Java in Artifact Registry, puoi provare la guida rapida.
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 questa 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 i tuoi 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. La presente documentazione non descrive la configurazione o l'utilizzo Client Scala
- Configura Cloud Build per caricare e scaricare i pacchetti.
- Scopri di più sul deployment negli ambienti di runtime Google Cloud.
- Scopri di più sulla gestione dei pacchetti.
Versioni di release e snapshot di 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 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 versioni degli snapshot non univoche in modo da sovrascrivere di 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 offrono un modo per pubblicare iterativamente le versioni aggiornate di un
pacchetto pre-release senza incrementare il numero di versione nel tuo Maven
ogni volta che lo pubblichi nel repository. Durante lo sviluppo,
altri progetti con dipendenze dal pacchetto possono ottenere l'istantanea più recente della versione 1.0
dal repository.
Consulta specifiche dell'ordine della versione per dettagli sulla sintassi del numero di versione Maven e l'ordinamento.
Release
Quando è tutto pronto per rilasciare un pacchetto, devi rimuovere il suffisso -SNAPSHOT
dal numero di versione nel file POM e aggiorna tutti i progetti che dipendono
il pacchetto in modo da utilizzare la versione di release al posto dello snapshot
completamente gestita.
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 Criteri relativi alla versione di Maven:
- Nessuna: archivia sia i pacchetti di snapshot che quelli di rilascio. Questa è l'impostazione predefinita.
- Snapshot: consente di archiviare solo i pacchetti di snapshot.
- Release: solo pacchetti di release dei negozi.
Se scegli il criterio di versione snapshot, puoi anche specificare se il parametro consente versioni degli snapshot non univoche che sovrascrivono le versioni corrispondenti nel repository. Ti consigliamo di utilizzare versioni univoche poiché Maven 3 non supportare il modello di versione non univoco.