In questa pagina viene descritta l'aggiunta, la visualizzazione e l'eliminazione dei pacchetti Java.
Se vuoi utilizzare sbt come strumento di creazione per Scala e Java anziché utilizzare Maven o Gradle, plug-in sbt creato dalla community. Questa documentazione non descrive la configurazione o l'utilizzo dei client Scala.
Prima di iniziare
- Se il repository di destinazione non esiste, per creare un nuovo repository.
- Verifica di disporre delle autorizzazioni necessarie per il repository.
- Verifica di aver configurato l'autenticazione. Se utilizzi un token di accesso, assicurati di aggiornarlo prima la connessione al repository.
- (Facoltativo) Configura i valori predefiniti per i comandi gcloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i pacchetti, chiedi all'amministratore di concederti seguenti ruoli IAM sul repository:
-
Visualizza i pacchetti o i file nei pacchetti:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Scarica o installa i pacchetti:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Aggiungi pacchetti a un repository:
Artifact Registry Writer (
roles/artifactregistry.writer
) -
Elimina i pacchetti:
Amministratore del repository Artifact Registry (
roles/artifactregistry.repoAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Aggiunta di pacchetti
Modalità del repository: Standard
Per aggiungere pacchetti al repository:
Maven
Utilizza mvn deploy
e mvn release
per aggiungere pacchetti al repository.
Per eseguire correttamente il deployment di un progetto Maven che fa riferimento a un elemento padre, il progetto deve includere il provider Artifact Registry Wagon in un'estensione principale come descritto nelle istruzioni per l'autenticazione.
Utilizza mvn deploy:deploy-file
per caricare gli artefatti creati al di fuori di
Maven.
Ad esempio, questo comando di esempio esegue il deployment di example/external.jar
e del relativo progetto
il file example/pom.xml
nel repository
us-central1-maven.pkg.dev/my-project/my-repo
mvn deploy:deploy-file \
-Durl=artifactregistry://us-central1-maven.pkg.dev/my-project/my-repo \
-DpomFile=example/pom.xml -Dfile=example/external.jar
Per configurare l'integrazione con Cloud Build, consulta Integrazione con Cloud Build.
Gradle
Per poter essere pubblicato nel repository, il file build.gradle
deve includere
una sezione pubblicazioni che definisce i file da caricare.
Utilizza il comando gradle publish
per caricare un pacchetto nel repository.
Visualizzazione di pacchetti e versioni
Modalità repository: standard, remota
Visualizzazione di pacchetti e versioni dei pacchetti utilizzando la console Google Cloud
o gcloud
:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Fai clic su un pacchetto per visualizzare le sue versioni.
gcloud
Per elencare i pacchetti contenuti in un repository, esegui questo comando:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Dove
- REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
Per visualizzare le versioni di un pacchetto, esegui il comando seguente:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Dove
- PACKAGE è l'ID del pacchetto o dell'identificatore completo per il pacchetto.
- REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una posizione predefinita, puoi omettere questo flag per utilizzare la posizione predefinita.
Per i repository remoti, l'elenco restituito deve includere tutte le dipendenze dirette e trascendenti.
Elenco dei file
Modalità repository: standard, remota
Puoi elencare i file in un repository, in tutte le versioni di un pacchetto specificato o in una versione specifica di un pacchetto.
Per tutti i comandi seguenti, puoi impostare un numero massimo di file da restituire
aggiungendo il flag --limit
al comando.
Per elencare tutti i file nel progetto, nel repository e nella località predefiniti quando i valori predefiniti sono configurati:
gcloud artifacts files list
Per elencare i file in un progetto, un repository e una posizione specifici, esegui il comando:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Per elencare i file per tutte le versioni di un pacchetto specifico:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Per elencare i file per una specifica versione del pacchetto:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Sostituisci i seguenti valori:
LOCATION
: la località del repository a livello di una o più regioni.PROJECT
: il tuo account Google Cloud ID progetto. Se l'ID progetto contiene i due punti (":"), vedi Progetti con ambito dominio.REPOSITORY
: il nome del repository in cui è stata creata l'immagine viene archiviato.PACKAGE
: il nome del pacchetto.VERSION
: la versione del pacchetto.
Esempi
Considera le seguenti informazioni sul pacchetto:
- Progetto:
my-project
- Repository:
my-repo
- Località del repository:
us-west1
- Pacco:
my-app
Il comando seguente elenca tutti i file del repository my-repo
nella
località us-west1
all'interno del progetto predefinito:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
1.0
del pacchetto.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Download dei pacchetti
Modalità del repository: standard, remoto, virtuale
Per scaricare un artefatto come parte della build, devi dichiarare l'artefatto come dipendenza.
Maven
Dichiara i pacchetti da scaricare nel file del progetto
pom.xml
. L'esempio seguente dichiara la versione 1.0 del pacchettoartifact
come un la dipendenza.<dependencies> <dependency> <groupId>group</groupId> <artifactId>artifact</artifactId> <version>1.0</version> </dependency> </dependencies>
Per ulteriori informazioni sulle dipendenze Maven, consulta l'introduzione alle delle dipendenze e riferimento alle dipendenze.
Crea il progetto Java.
mvn compile
Gradle
Dichiara i pacchetti da scaricare nel file del progetto
build.gradle
. L'esempio seguente dichiara la versione 1.0 del pacchettoartifact
come dipendenza di compilazione esterna.Per scoprire di più sulle dipendenze Gradle, consulta la sezione Gradle documentazione.
dependencies { compile group: 'group', name: 'artifact', version: '1.0' }
Compila il progetto Java.
gradle build
Per i repository standard, puoi scaricare un pacchetto direttamente dal repository.
Per un repository remoto, devi scaricare una copia memorizzata nella cache del pacchetto e dei relativi delle dipendenze. Se non esiste una copia memorizzata nella cache, il repository remoto viene scaricato il pacchetto dall'origine upstream e lo memorizza nella cache prima di pubblicarlo. Puoi verificare che il repository remoto abbia recuperato i pacchetti dalla l'origine upstream visualizzando l'elenco di pacchetti nel repository.
Per un repository virtuale, Artifact Registry cerca nei repository upstream per il pacchetto richiesto.
- I repository remoti upstream scaricheranno e memorizzeranno nella cache il pacchetto richiesto se non esiste una copia memorizzata nella cache. I repository virtuali gestiscono solo le richieste pacchetti, non li archiviano.
- Se richiedi una versione che è disponibile in più di un upstream repository, Artifact Registry sceglie un repository upstream da utilizzare in base alle impostazioni di priorità configurate per il repository virtuale.
Ad esempio, considera un repository virtuale con le seguenti impostazioni di priorità per i repository upstream:
main-repo
: priorità impostata su100
secondary-repo1
: priorità impostata su80
.secondary-repo2
: priorità impostata su80
.test-repo
: priorità impostata su20
.
main-repo
ha il valore di priorità più alto, quindi il repository virtuale
lo cerca sempre per primo.
Sia secondary-repo1
che secondary-repo2
hanno la priorità impostata su 80
. Se
il pacchetto richiesto non è disponibile in main-repo
, Artifact Registry
a cercare successivamente questi repository. Poiché entrambi hanno lo stesso valore di priorità,
Artifact Registry può scegliere di gestire un pacchetto da entrambi i repository
se la versione è disponibile in entrambi.
test-repo
ha il valore di priorità più basso e pubblicherà un artefatto archiviato se
ma nessuno degli altri repository upstream lo contiene.
Eliminazione di pacchetti e versioni
Modalità repository: standard, remota
Puoi eliminare un pacchetto e tutte le sue versioni oppure eliminare una versione specifica.
- L'operazione non può essere annullata dopo l'eliminazione del pacchetto.
- Per i repository remoti, viene eliminata solo la copia memorizzata nella cache del pacchetto. L'origine in upstream non è interessata. Se elimini un pacchetto memorizzato nella cache, Artifact Registry lo scaricherà e lo memorizzerà di nuovo nella cache la prossima volta che il repository riceverà una richiesta per la stessa versione del pacchetto.
Prima di eliminare un pacchetto o una versione del pacchetto, verifica di avere che abbia comunicato o gestito eventuali dipendenze importanti.
Per eliminare un pacchetto:
Console
Apri la pagina Repositories (Repositoi) nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Seleziona il pacchetto da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
--async
Torna immediatamente, senza attendere che l'operazione in corso venga completato.
Per eliminare versioni di un pacchetto:
Console
Apri la pagina Repositories (Repositoi) nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Fai clic su un pacchetto per visualizzare le relative versioni.
Seleziona le versioni da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una posizione predefinita, puoi omettere questo flag per utilizzare la posizione predefinita.
--async
ritorna immediatamente, senza attendere che l'operazione in corso venga completato.
Passaggi successivi
- Scopri di più sulla gestione dei pacchetti Node.js
- Scopri di più sulla gestione dei pacchetti Python
- Scopri di più sulla gestione delle immagini container
- Download di singoli file all'interno di un pacchetto