Archiviare pacchetti Java in Artifact Registry

Questa guida rapida mostra come configurare un repository Maven privato di Artifact Registry 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. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e gestire i repository di pacchetti Java di Artifact Registry, chiedi all'amministratore di concederti il ruolo IAM Artifact Registry Administrator (roles/artifactregistry.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Avvia Cloud Shell

In questa guida rapida utilizzerai Cloud Shell, un ambiente shell per la gestione delle risorse ospitate su Google Cloud.

Cloud Shell include Google Cloud CLI e Java preinstallati. gcloud CLI fornisce l'interfaccia a riga di comando principale per Google Cloud.

Avvia Cloud Shell:

  1. Vai alla console Google Cloud .

    Google Cloud console

  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. Utilizza 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 Repositori

  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 tuo progetto semplice non abbia dipendenze principali o di plug-in aggiuntive archiviate in Artifact Registry. Per informazioni dettagliate sulla configurazione di un progetto Maven con dipendenze in Artifact Registry, vedi Autenticarsi con un helper delle credenziali.

  2. Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-java-repo e la posizione predefinita su us-central1. Una volta impostati i valori, non devi 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 questo comando per stampare le impostazioni per il repository quickstart-java-repo predefinito.

    gcloud artifacts print-settings mvn
    

    L'output del comando gcloud è simile al seguente snippet, dove PROJECT è il tuo 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.5</version>
        </extension>
      </extensions>
    </build>
    
  4. Aggiungi le impostazioni al file pom.xml per il progetto Maven. Lo schema seguente mostra il posizionamento relativo di ogni elemento principale. Per informazioni dettagliate sulla struttura del file, consulta il 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 tuo progetto Maven può caricare 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 test, puoi seguire il tutorial introduttivo su Gradle per creare una build Gradle semplice.

Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-java-repo e la posizione predefinita su us-central1. Una volta impostati i valori, non devi 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.

  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 è il tuo ID progetto.

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.5"
          }
    
    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 maggiori dettagli su queste opzioni, vedi Configurare l'autenticazione.

    Carica un pacchetto nel repository

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

    Per Gradle, utilizza il comando gradle publish per caricare un pacchetto nel repository.

    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 Repositori

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

      La pagina Pacchetti elenca i pacchetti 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