在 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. Verify 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. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry API.

    Enable the API

  8. 啟動 Cloud Shell

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

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

    啟動 Cloud Shell:

    1. 前往 Google Cloud 控制台。

      Google Cloud console

    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 專案。

      如果沒有可用的簡單專案,可以建立「Maven in 5 minutes」專案。

      本快速入門指南假設您的簡單專案沒有儲存在 Artifact Registry 中的其他父項或外掛程式依附元件。如要進一步瞭解如何設定 Maven 專案,並在 Artifact Registry 中加入依附元件,請參閱「使用憑證輔助程式進行驗證」。

    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」(存放區) 頁面。

      開啟「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
      

    後續步驟