Menyimpan paket Java di Artifact Registry

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


Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, 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. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  4. Aktifkan API Artifact Registry.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  7. Aktifkan API Artifact Registry.

    Mengaktifkan API

Meluncurkan Cloud Shell

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

Cloud Shell dilengkapi dengan Google Cloud CLI dan Java. Gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud.

Meluncurkan Cloud Shell:

  1. Buka Konsol Google Cloud.

    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 Standard sebagai modenya.

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

  6. Klik Create.

    Repositori ditambahkan ke daftar repositori.

gcloud

  1. Jalankan perintah berikut untuk membuat repositori paket Java baru di project saat ini yang 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 helper kredensial.

  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 menetapkan repositori, jalankan perintah:

    gcloud config set artifacts/repository quickstart-java-repo
    

    Untuk menetapkan lokasi, jalankan perintah:

    gcloud config set artifacts/location us-central1
    

    Untuk mengetahui informasi lebih lanjut tentang perintah ini, baca dokumentasi gcloud config set.

  3. Jalankan perintah berikut untuk mencetak setelan bagi 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.1</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 sekarang dapat mengupload paket ke repositori Anda.

Mengonfigurasi Gradle

Buat project Gradle sederhana untuk men-deploy paket ke repositori Artifact Registry yang Anda buat. Jika belum 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 menetapkan repositori, jalankan perintah:

gcloud config set artifacts/repository quickstart-java-repo

Untuk menetapkan lokasi, jalankan perintah:

gcloud config set artifacts/location us-central1

Untuk mengetahui informasi lebih lanjut tentang perintah ini, baca 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 terlihat seperti contoh berikut, dengan PROJECT adalah project ID Anda.

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.1"
          }
    
    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. Pastikan file build.gradle menyertakan bagian publications. Jika tidak, tambahkan ke file build.gradle Anda.

    Bagian publications adalah turunan dari publishing seperti 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 Anda. 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 memastikan bahwa paket Anda telah ditambahkan ke repositori:

    Konsol

    1. Buka halaman Repositories di Konsol Google Cloud.

      Buka halaman Repositori

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

      Halaman Packages mencantumkan paket dalam repositori.

    gcloud

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

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

      Outputnya akan mirip dengan berikut 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 dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Sebelum menghapus repositori, pastikan paket apa pun 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 Delete.

gcloud

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

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

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

Langkah selanjutnya