Java パッケージを Artifact Registry に保存する

このクイックスタートでは、限定公開の Artifact Registry Maven リポジトリを設定して、パッケージを設定したリポジトリにアップロードする方法を説明します。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Artifact Registry API を有効にします。

    API を有効にする

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Artifact Registry API を有効にします。

    API を有効にする

Cloud Shell を起動する

このクイックスタートでは、Google Cloud でホストされているリソースを管理するためのシェル環境である Cloud Shell を使用します。

Cloud Shell には、Google Cloud CLI と Java がプリインストールされています。gcloud CLI は、Google Cloud への主要なコマンドライン インターフェースを提供します。

Cloud Shell を起動します。

  1. Google Cloud Console に移動します。

    Google Cloud Console

  2. Google Cloud コンソールのツールバーで、「Cloud Shell をアクティブにする」をクリックします:

コンソールの下部にあるフレーム内で Cloud Shell セッションが開きます。このシェルで gcloud コマンドを実行します。

Java パッケージ リポジトリを作成する

Java アーティファクト用のリポジトリを作成します。

  1. リポジトリを作成します。

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. [リポジトリを作成] をクリックします。

  3. リポジトリ名として quickstart-java-repo を指定します。

  4. 形式として Maven を選択し、モードとして Standard を選択します。

  5. [ロケーション タイプ] で、[リージョン] を選択し、ロケーション us-central1 を選択します。

  6. [作成] をクリックします。

    このリポジトリがリポジトリ リストに追加されます。

gcloud

  1. 次のコマンドを実行して、現在のプロジェクトでロケーション us-central1quickstart-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.1</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.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. 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.gradle ファイルまたは settings ファイルにリポジトリ構成を追加することもできます。これらのオプションの詳細については、認証の設定をご覧ください。

    パッケージをリポジトリにアップロードする

    Maven の場合は、mvn deploymvn release を使用してリポジトリにパッケージを追加できます。

    Gradle の場合は、gradle publish コマンドを使用してパッケージをリポジトリにアップロードします。

    リポジトリ内のパッケージを表示する

    パッケージがリポジトリに追加されたことを確認するには:

    コンソール

    1. Google Cloud コンソールで [リポジトリ] ページを開きます。

      [リポジトリ] ページを開く

    2. リポジトリ リストで、quickstart-java-repo リポジトリをクリックします。

      [パッケージ] ページには、リポジトリ内のパッケージが一覧表示されます。

    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 コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  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
    

次のステップ