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 untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy 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

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat dan mengelola repositori paket Java Artifact Registry, minta administrator untuk memberi Anda peran IAM Administrator Artifact Registry (roles/artifactregistry.admin) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

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

    Google Cloud console

  2. Di toolbar Google Cloud konsol, 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 Google Cloud konsol.

    Buka halaman Repositori

  2. Klik Create Repository.

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

  4. Pilih Maven sebagai format dan Standard sebagai mode.

  5. Di bagian Location Type, pilih Region, lalu 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 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 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. Outline berikut menunjukkan penempatan relatif setiap elemen utama. Lihat referensi Maven POM 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 pengantar Gradle 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 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.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. Pastikan 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 Google Cloud konsol.

      Buka halaman Repositori

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

      Halaman Packages 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 sebagai ID paket

      Untuk melihat versi paket, jalankan perintah berikut:

      gcloud artifacts versions list --package=PACKAGE
      

      Dengan PACKAGE adalah ID paket.

Pembersihan

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

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

Untuk menghapus repositori:

Konsol

  1. Buka halaman Repositories di Google Cloud konsol.

    Buka halaman Repositori

  2. Di 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 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