Archiviare i pacchetti Java in Artifact Registry

Questa guida rapida mostra come configurare un Maven privato Artifact Registry repository e caricare un pacchetto al suo interno.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:

Procedura guidata


Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

Avvia Cloud Shell

In questa guida rapida utilizzerai Cloud Shell, che è un ambiente shell per la gestione delle risorse in hosting in Google Cloud.

Cloud Shell è preinstallato Google Cloud CLI e Java. Google Cloud CLI fornisce l'interfaccia a riga di comando principale per Google Cloud.

Avvia Cloud Shell:

  1. Vai alla console Google Cloud.

    Console Google Cloud

  2. Nella barra degli strumenti della console Google Cloud, fai clic su Attiva Cloud Shell:

Una sessione di Cloud Shell si apre in un frame nella parte inferiore della console. Utilizzerai questa shell per eseguire i comandi gcloud.

Crea un repository di pacchetti Java

Crea il repository per gli artefatti Java.

  1. Crea il repository:

Console

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

  2. Fai clic su Crea repository.

  3. Specifica quickstart-java-repo come nome del repository.

  4. Scegli Maven come formato e Standard come modalità.

  5. In Tipo di località, seleziona Regione, quindi scegli la località us-central1.

  6. Fai clic su Crea.

    Il repository viene aggiunto all'elenco dei repository.

gcloud

  1. Esegui il comando seguente per creare un nuovo repository di pacchetti Java nel progetto corrente denominato quickstart-java-repo nella località us-central1.

    gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \
    --location=us-central1 --description="Java package repository"
    
  2. Esegui questo comando per verificare che il repository sia stato creato:

    gcloud artifacts repositories list
    

    Per ulteriori informazioni sui comandi di Artifact Registry, esegui il comando gcloud artifacts.

Configura Maven

  1. Scegli un progetto Maven semplice che vuoi utilizzare.

    Se non hai un progetto semplice a disposizione, puoi creare il progetto Maven in 5 minuti.

    Questa guida rapida presuppone che il progetto semplice non abbia delle dipendenze principali o plug-in archiviate in Artifact Registry. Per maggiori dettagli sulla configurazione di un progetto Maven con dipendenze in Artifact Registry, consulta Autenticazione con un helper per le credenziali.

  2. Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-java-repo e la località predefinita è us-central1. Una volta impostati i valori, non è necessario specificarli nei comandi gcloud che richiedono un repository o una posizione.

    Per impostare il repository, esegui il comando:

    gcloud config set artifacts/repository quickstart-java-repo
    

    Per impostare la località, esegui il comando:

    gcloud config set artifacts/location us-central1
    

    Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.

  3. Esegui il seguente comando per stampare le impostazioni per il repository quickstart-java-repo predefinito.

    gcloud artifacts print-settings mvn
    

    L'output del comando gcloud è simile allo snippet seguente, dove PROJECT è l'ID progetto.

    <distributionManagement>
      <snapshotRepository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url>
      </snapshotRepository>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url>
      </repository>
    </distributionManagement>
    
    <repositories>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </repository>
    </repositories>
    
    <build>
      <extensions>
        <extension>
          <groupId>com.google.cloud.artifactregistry</groupId>
          <artifactId>artifactregistry-maven-wagon</artifactId>
          <version>2.2.3</version>
        </extension>
      </extensions>
    </build>
    
  4. Aggiungi le impostazioni al file pom.xml del tuo progetto Maven. La la seguente struttura mostra il posizionamento relativo di ogni elemento principale. Per maggiori dettagli sulla struttura del file, consulta la documentazione di riferimento POM di Maven.

    <project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                          http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
      <!-- Build Settings -->
      <build>
        ...
        <extensions>...</extensions>
      </build>
    
      <!-- Environment Settings -->
      <repositories>...</repositories>
      <distributionManagement>...</distributionManagement>
    </project>
    

Ora il progetto Maven può caricare i pacchetti nel repository.

Configura Gradle

Crea un progetto Gradle semplice per eseguire il deployment di un pacchetto nel repository Artifact Registry che hai creato. Se non hai una build Gradle di prova, puoi seguire Il tutorial introduttivo per creare una semplice build Gradle.

Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-java-repo e la località predefinita è us-central1. Dopo aver impostato i valori, non è necessario specificarli in gcloud che richiedono un repository o una posizione.

Per impostare il repository, esegui il comando:

gcloud config set artifacts/repository quickstart-java-repo

Per impostare la località, esegui il comando:

gcloud config set artifacts/location us-central1

Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.

  1. Aggiungi le impostazioni per connettere il repository al file build.gradle. Il seguente comando stampa le impostazioni da aggiungere per il repository quickstart-java-repo predefinito.

    gcloud artifacts print-settings gradle
    

    L'output del comando gcloud è simile all'esempio seguente, dove PROJECT è l'ID progetto.

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.3"
          }
    
    publishing {
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo"
        }
      }
    }
    
    repositories {
      maven {
        url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo"
      }
    }
    
  2. Verifica che il file build.gradle includa una sezione pubblicazioni. Se non ce l'ha, aggiungila al file build.gradle.

    La sezione publications è un elemento figlio di publishing, come mostrato nell'esempio seguente:

    publishing {
      publications {
           mavenJava(MavenPublication) {
              groupId  'maven.example.id'
              from components.java
           }
      }
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-java-repo"
        }
      }
    }
    

    Puoi anche aggiungere la configurazione del repository ai file init.gradle o settings. Per informazioni dettagliate su queste opzioni, consulta Configurare l'autenticazione.

    Carica un pacchetto nel repository

    Per Maven, puoi utilizzare mvn deploy e mvn release per aggiungere pacchetti al repository.

    Per Gradle, usa il comando gradle publish per caricare un pacchetto nella repository Git.

    Visualizza il pacchetto nel repository

    Per verificare che il pacchetto sia stato aggiunto al repository:

    Console

    1. Apri la pagina Repository nella console Google Cloud.

      Apri la pagina Repository

    2. Nell'elenco dei repository, fai clic sul repository quickstart-java-repo.

      La pagina Pacchetti elenca i pacchetti presenti nel repository.

    gcloud

    1. Per elencare i pacchetti nel repository quickstart-java-repo, esegui il comando seguente:

      gcloud artifacts packages list --repository=quickstart-java-repo
      

      L'output sarà simile al seguente:

      Listing items under project <project-id>, location us-central1,\
      repository quickstart-java-repo.
      
      PACKAGE: maven.example.id:gradle-demo
      CREATE_TIME: 2022-01-20T22:46:07
      UPDATE_TIME: 2022-01-20T22:46:07
      

      Dove maven.example.id:gradle-demo è l'ID pacchetto

      Per visualizzare le versioni di un pacchetto, esegui questo comando:

      gcloud artifacts versions list --package=PACKAGE
      

      Dove PACKAGE è l'ID pacchetto.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Prima di rimuovere il repository, assicurati che tutti i pacchetti che vuoi conservare siano disponibili in un'altra posizione.

Per eliminare il repository:

Console

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, seleziona il repository quickstart-java-repo.

  3. Fai clic su Elimina.

gcloud

  1. Per eliminare il repository quickstart-java-repo, esegui questo comando:

    gcloud artifacts repositories delete quickstart-java-repo
    
  2. Se vuoi rimuovere il repository predefinito e le impostazioni di posizione configurate per la configurazione gcloud attiva, esegui i comandi seguenti:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

Passaggi successivi