Menyimpan paket Java di Artifact Registry

Panduan memulai ini menunjukkan cara menyiapkan repositori Maven Artifact Registry pribadi dan mengupload paket ke repositori tersebut.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Google Cloud konsol, klik Pandu saya:

Pandu saya


Sebelum memulai

  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

Meluncurkan Cloud Shell

Dalam panduan memulai ini, Anda akan menggunakan Cloud Shell, yang merupakan lingkungan shell untuk mengelola resource yang dihosting diGoogle Cloud.

Cloud Shell telah diinstal lebih dulu dengan Google Cloud CLI dan Java. gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud.

Meluncurkan Cloud Shell:

  1. Buka Google Cloud console.

    Google Cloud console

  2. Di toolbar konsol Google Cloud , klik Activate Cloud Shell:

Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol. Anda menggunakan shell ini untuk menjalankan perintah gcloud.

Membuat repositori paket Java

Buat repositori untuk artefak Java Anda.

  1. Buat repositori:

Konsol

  1. Buka halaman Repositories di konsol Google Cloud .

    Buka halaman Repositori

  2. Klik Create Repository.

  3. Tentukan quickstart-java-repo sebagai nama repositori.

  4. Pilih Maven sebagai format dan Standar sebagai mode.

  5. Di bawah Jenis Lokasi, pilih Region dan kemudian pilih lokasi us-central1.

  6. Klik Buat.

    Repositori ditambahkan ke daftar repositori.

gcloud

  1. Jalankan perintah berikut untuk membuat repositori paket Java baru dalam project saat ini bernama quickstart-java-repo di lokasi us-central1.

    gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \
    --location=us-central1 --description="Java package repository"
    
  2. Jalankan perintah berikut untuk memverifikasi bahwa repositori Anda telah dibuat:

    gcloud artifacts repositories list
    

    Untuk mengetahui informasi selengkapnya tentang perintah Artifact Registry, jalankan perintah gcloud artifacts.

Mengonfigurasi Maven

  1. Pilih project Maven sederhana yang ingin Anda gunakan.

    Jika tidak memiliki project sederhana, Anda dapat membuat project Maven dalam 5 menit.

    Panduan memulai ini mengasumsikan bahwa project sederhana Anda tidak memiliki dependensi induk atau plugin tambahan yang disimpan di Artifact Registry. Untuk mengetahui detail tentang cara mengonfigurasi project Maven dengan dependensi di Artifact Registry, lihat Mengautentikasi dengan credential helper.

  2. Untuk menyederhanakan perintah gcloud, tetapkan repositori default ke quickstart-java-repo dan lokasi default ke us-central1. Setelah nilai ditetapkan, Anda tidak perlu menentukannya dalam perintah gcloud yang memerlukan repositori atau lokasi.

    Untuk menyetel repositori, jalankan perintah:

    gcloud config set artifacts/repository quickstart-java-repo
    

    Untuk menyetel lokasi, jalankan perintah:

    gcloud config set artifacts/location us-central1
    

    Untuk mengetahui informasi selengkapnya tentang perintah ini, lihat dokumentasi gcloud config set.

  3. Jalankan perintah berikut untuk mencetak setelan repositori quickstart-java-repo default.

    gcloud artifacts print-settings mvn
    

    Output perintah gcloud terlihat seperti cuplikan berikut, dengan PROJECT adalah project ID Anda.

    <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. Tambahkan setelan ke file pom.xml untuk project Maven Anda. Garis berikut menunjukkan penempatan relatif setiap elemen utama. Lihat referensi POM Maven untuk mengetahui detail tentang struktur file.

    <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>
    

Project Maven Anda kini dapat mengupload paket ke repositori Anda.

Mengonfigurasi Gradle

Buat project Gradle sederhana untuk men-deploy paket ke repositori Artifact Registry yang Anda buat. Jika tidak memiliki build Gradle pengujian, Anda dapat mengikuti tutorial Gradle pengantar untuk membuat build Gradle sederhana.

Untuk menyederhanakan perintah gcloud, tetapkan repositori default ke quickstart-java-repo dan lokasi default ke us-central1. Setelah nilai ditetapkan, Anda tidak perlu menentukannya dalam perintah gcloud yang memerlukan repositori atau lokasi.

Untuk menyetel repositori, jalankan perintah:

gcloud config set artifacts/repository quickstart-java-repo

Untuk menyetel lokasi, jalankan perintah:

gcloud config set artifacts/location us-central1

Untuk mengetahui informasi selengkapnya tentang perintah ini, lihat dokumentasi gcloud config set.

  1. Tambahkan setelan untuk menghubungkan repositori ke file build.gradle. Perintah berikut mencetak setelan yang akan ditambahkan untuk repositori quickstart-java-repo default.

    gcloud artifacts print-settings gradle
    

    Output perintah gcloud akan terlihat seperti contoh berikut, dengan PROJECT adalah project ID Anda.

    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. Verifikasi bahwa file build.gradle menyertakan bagian publications. Jika tidak ada, tambahkan ke file build.gradle Anda.

    Bagian publications adalah turunan dari publishing seperti yang ditunjukkan dalam contoh berikut:

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

    Anda juga dapat menambahkan konfigurasi repositori ke file init.gradle atau settings. Untuk mengetahui detail tentang opsi ini, lihat Menyiapkan autentikasi.

    Mengupload paket ke repositori

    Untuk Maven, Anda dapat menggunakan mvn deploy dan mvn release untuk menambahkan paket ke repositori.

    Untuk Gradle, gunakan perintah gradle publish untuk mengupload paket ke repositori.

    Melihat paket di repositori

    Untuk memverifikasi bahwa paket Anda telah ditambahkan ke repositori:

    Konsol

    1. Buka halaman Repositories di konsol Google Cloud .

      Buka halaman Repositori

    2. Di daftar repositori, klik repositori quickstart-java-repo.

      Halaman Paket mencantumkan paket di repositori.

    gcloud

    1. Untuk mencantumkan paket di repositori quickstart-java-repo, jalankan perintah berikut:

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

      Outputnya akan seperti ini:

      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
      

      Dengan maven.example.id:gradle-demo adalah ID paket

      Untuk melihat versi paket, jalankan perintah berikut:

      gcloud artifacts versions list --package=PACKAGE
      

      Dengan PACKAGE adalah ID paket.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Sebelum menghapus repositori, pastikan semua paket yang ingin Anda simpan tersedia di lokasi lain.

Untuk menghapus repositori:

Konsol

  1. Buka halaman Repositories di konsol Google Cloud .

    Buka halaman Repositori

  2. Dalam daftar repositori, pilih repositori quickstart-java-repo.

  3. Klik Hapus.

gcloud

  1. Untuk menghapus repositori quickstart-java-repo, jalankan perintah berikut:

    gcloud artifacts repositories delete quickstart-java-repo
    
  2. Jika Anda ingin menghapus setelan repositori dan lokasi default yang Anda konfigurasi untuk konfigurasi gcloud aktif, jalankan perintah berikut:

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

Langkah berikutnya