在 Artifact Registry 中儲存 Java 套件

本快速入門說明如何設定私人 Artifact Registry Maven 存放區,並上傳套件至其中。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


事前準備

  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

啟動 Cloud Shell

在本快速入門導覽課程中,您將使用 Cloud Shell,這是用來管理Google Cloud上託管資源的殼層環境。

Cloud Shell 已預先安裝 Google Cloud CLI 和 Java。gcloud CLI 提供 Google Cloud的主要指令列介面。

啟動 Cloud Shell:

  1. 前往 Google Cloud 控制台。

    Google Cloud 主控台

  2. 在 Google Cloud 控制台工具列中,按一下「啟用 Cloud Shell」

此時 Cloud Shell 工作階段會在主控台底部的頁框中開啟,您可以使用這個殼層來執行 gcloud 指令。

建立 Java 套件存放區

建立 Java 構件的存放區。

  1. 建立存放區:

主控台

  1. 在 Google Cloud 控制台中開啟「Repositories」頁面。

    開啟「存放區」頁面

  2. 點選 [Create Repository] (建立存放區)

  3. quickstart-java-repo 指定為存放區名稱。

  4. 選擇「Maven」做為格式,並選擇「Standard」做為模式。

  5. 在「位置類型」下方,選取「區域」,然後選擇位置 us-central1

  6. 按一下 [建立]。

    存放區會新增至存放區清單。

gcloud

  1. 執行下列指令,以便在 us-central1 位置中的 quickstart-java-repo 當前專案內建立新的 Java 套件存放區。

    gcloud artifacts repositories create quickstart-java-repo --repository-format=maven \
    --location=us-central1 --description="Java package repository"
    
  2. 執行下列指令來確認存放區已建立完成:

    gcloud artifacts repositories list
    

    如要進一步瞭解 Artifact Registry 指令,請執行 gcloud artifacts 指令。

設定 Maven

  1. 選擇要使用的簡易 Maven 專案。

    如果您沒有可用的簡單專案,可以建立5 分鐘內完成的 Maven 專案。

    這個快速入門假設您的簡易專案沒有額外的父項或外掛程式依附元件,儲存在 Artifact Registry 中。如要進一步瞭解如何在 Artifact Registry 中設定 Maven 專案與依附元件,請參閱「使用憑證輔助程式進行驗證」一文。

  2. 如要簡化 gcloud 指令,請將預設存放區設為 quickstart-java-repo,並將預設位置設為 us-central1。設定值後,您不需要在需要存放區或位置的 gcloud 指令中指定這些值。

    如要設定存放區,請執行下列指令:

    gcloud config set artifacts/repository quickstart-java-repo
    

    如要設定位置,請執行下列指令:

    gcloud config set artifacts/location us-central1
    

    如要進一步瞭解這些指令,請參閱 gcloud config set 說明文件。

  3. 執行下列指令,即可列印預設 quickstart-java-repo 存放區的設定。

    gcloud artifacts print-settings mvn
    

    gcloud 指令的輸出內容如下所示,其中 PROJECT 是您的專案 ID。

    <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. 將設定新增至 Maven 專案的 pom.xml 檔案。下列大綱顯示各個主要元素的相對位置。如要進一步瞭解檔案結構,請參閱 Maven POM 參考資料

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

Maven 專案現在可以將套件上傳至存放區。

設定 Gradle

建立簡單的 Gradle 專案,將套件部署至您建立的 Artifact Registry 存放區。如果您沒有測試 Gradle 建構作業,可以按照 Gradle 教學課程的入門說明建立簡單的 Gradle 建構作業。

如要簡化 gcloud 指令,請將預設存放區設為 quickstart-java-repo,並將預設位置設為 us-central1。設定值後,您不需要在需要存放區或位置的 gcloud 指令中指定這些值。

如要設定存放區,請執行下列指令:

gcloud config set artifacts/repository quickstart-java-repo

如要設定位置,請執行下列指令:

gcloud config set artifacts/location us-central1

如要進一步瞭解這些指令,請參閱 gcloud config set 說明文件。

  1. 新增可將存放區連結至 build.gradle 檔案的設定。下列指令會列出要新增的預設 quickstart-java-repo 存放區設定。

    gcloud artifacts print-settings gradle
    

    gcloud 指令的輸出內容如下所示,其中 PROJECT 是您的專案 ID。

    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. 確認 build.gradle 檔案含有 publications 段落。如果沒有,請將該段落新增至 build.gradle 檔案。

    publications 段落是 publishing 的子項,如下列範例所示:

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

    您也可以將存放區設定新增至 init.gradlesettings 檔案。如要進一步瞭解這些選項,請參閱「設定驗證」。

    將套件上傳至存放區

    針對 Maven,您可以使用 mvn deploymvn release 將套件新增至存放區。

    針對 Gradle,請使用 gradle publish 指令將套件上傳至存放區。

    查看存放區中的套件

    如要確認套件是否已新增至存放區,請按照下列步驟操作:

    主控台

    1. 在 Google Cloud 控制台中開啟「Repositories」頁面。

      開啟「存放區」頁面

    2. 在存放區清單中,按一下 quickstart-java-repo 存放區。

      「Packages」頁面會列出存放區中的套件。

    gcloud

    1. 如要列出 quickstart-java-repo 存放區中的套件,請執行下列指令:

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

      畫面中會顯示如下的輸出結果:

      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
      

      其中的 maven.example.id:gradle-demo套件 ID

      如要查看套件的版本,請執行下列指令:

      gcloud artifacts versions list --package=PACKAGE
      

      其中的 PACKAGE 為套件 ID。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。

移除存放區之前,請先確認要保留的套件均已存放於其他位置。

如要刪除存放區,請按照下列指示操作:

主控台

  1. 在 Google Cloud 控制台中開啟「Repositories」頁面。

    開啟「存放區」頁面

  2. 在存放區清單中,選取 quickstart-java-repo 存放區。

  3. 點選「刪除」。

gcloud

  1. 如要刪除 quickstart-java-repo 存放區,請執行下列指令:

    gcloud artifacts repositories delete quickstart-java-repo
    
  2. 如要移除您為使用中的 gcloud 設定建立的預設存放區和位置設定,請執行下列指令:

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

後續步驟