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. 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 di Google Cloud.

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

Meluncurkan Cloud Shell:

  1. Buka Konsol Google Cloud.

    Konsol Google Cloud

  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 di 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 plugin atau induk tambahan yang disimpan di Artifact Registry. Untuk mengetahui detail 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 selengkapnya tentang perintah ini, lihat dokumentasi gcloud config set.

  3. Jalankan perintah berikut untuk mencetak setelan untuk 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.3</version>
        </extension>
      </extensions>
    </build>
    
  4. Tambahkan setelan ke file pom.xml untuk project Maven Anda. Garis besar 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.

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 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 selengkapnya tentang perintah ini, lihat dokumentasi gcloud config set.

  1. Tambahkan setelan untuk menghubungkan repositori ke file build.gradle. Perintah berikut akan 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.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. Verifikasi bahwa file build.gradle menyertakan bagian publikasi. Jika tidak, 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 menampilkan daftar paket di 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 tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Sebelum menghapus repositori, pastikan 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 dikonfigurasi untuk konfigurasi gcloud aktif, jalankan perintah berikut:

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

Langkah selanjutnya