Maven と Gradle のクイックスタート

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

パッケージ管理はアルファ版です。これはアルファ版のユーザーにのみご利用いただけます。コンテナ管理で利用できる機能がすべて含まれているとは限りません。アルファ版のお申し込みには、登録フォームをご利用ください。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

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

    [プロジェクトの選択] ページに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

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

    API を有効にする

  5. Cloud SDK をインストールして初期化します。

Maven リポジトリを作成する

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

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

    コンソール

    1. Cloud Console で [リポジトリ] ページを開きます。

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

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

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

    4. 形式には Maven を選択します。

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

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

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

    gcloud

    1. 次のコマンドを実行して、ロケーション us-central1 にある quickstart-maven-repo という名前の現在のプロジェクトに、新しい Maven リポジトリを作成します。

      gcloud artifacts repositories create quickstart-maven-repo --repository-format=maven \
      --location=us-central1 [--description="Maven repository"]
      
    2. 次のコマンドを実行して、リポジトリが作成されたことを確認します。

      gcloud アーティファクト リポジトリ リスト

    Artifact Registry コマンドの詳細については、gcloud artifacts コマンドを実行してください。

  2. gcloud コマンドを簡略化するには、デフォルトのリポジトリを quickstart-maven-repo に、デフォルト ロケーションを us-central1 に設定します。値を設定したら、リポジトリまたはロケーションを必要とする gcloud コマンドで設定した値を指定する必要はありません。

    リポジトリを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/repository quickstart-maven-repo
    

    ロケーションを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/location us-central1
    

    上記のコマンドの詳細については、gcloud config set のドキュメントをご覧ください。

クライアントのサービス アカウントを設定する

  1. アプリケーションに代わって動作するサービス アカウントを作成するか、自動化に使用する既存のサービス アカウントを選択します。

    Artifact Registry で認証を設定するには、サービス アカウントのキーファイルの場所が必要です。既存のアカウントの場合は、[サービス アカウント] ページで鍵を表示し、新しい鍵を作成できます。

    [サービス アカウント] ページに移動

  2. サービス アカウントにリポジトリへの読み取りと書き込みのアクセス権を付与します。

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-maven-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
    

    ACCOUNTUSERNAME@PROJECT-ID.iam.gserviceaccount.com という形式のサービス アカウントの ID です。

  3. サービス アカウント キー ファイルの場所を変数 GOOGLE_APPLICATION_CREDENTIALS に割り当てて、Artifact Registry 認証情報ヘルパーがリポジトリとの接続時にキーを取得できるようにします。

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    KEY-FILE はサービス アカウント キーファイルのパスです。

    サービス アカウント キーファイルを使用したパスワード認証を設定する方法については、authentication#auth-password のドキュメントをご覧ください。

Maven を構成する

  1. 使用する Maven プロジェクトを選択します。

    使用可能な単純なプロジェクトがない場合は、5 分後に Maven プロジェクトを作成できます。

  2. 次のコマンドを実行して、デフォルトの quickstart-maven-repo リポジトリの設定を出力します。

    gcloud artifacts print-settings mvn
    

    gcloud コマンドの出力は次のスニペットのようになります。PROJECT はプロジェクト ID です。

    <distributionManagement>
      <snapshotRepository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </snapshotRepository>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo</url>
      </repository>
    </distributionManagement>
    
    <repositories>
      <repository>
        <id>artifact-registry</id>
        <url>artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-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.1.1</version>
        </extension>
      </extensions>
    </build>
    
  3. 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>
    

Gradle を設定する

  1. 作成した Artifact Registry リポジトリにパッケージをデプロイするシンプルな Gradle プロジェクトを作成します。テスト用の Gradle ビルドがない場合は、Gradle のチュートリアルの手順に従って、シンプルな Gradle ビルドを作成できます。

  2. gcloud コマンドを簡略化するには、デフォルトのリポジトリを quickstart-maven-repo に、デフォルト ロケーションを us-central1 に設定します。値を設定したら、リポジトリまたはロケーションを必要とする gcloud コマンドで設定した値を指定する必要はありません。

    リポジトリを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/repository quickstart-maven-repo
    

    ロケーションを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/location us-central1
    

    上記のコマンドの詳細については、gcloud config set のドキュメントをご覧ください。

  3. リポジトリに接続するための設定を build.gradle ファイルに追加します。次のコマンドは、デフォルトの quickstart-maven-repo リポジトリに追加する設定を出力します。

    gcloud artifacts print-settings gradle
    

    gcloud コマンドの出力は次の例のようになります。PROJECT はプロジェクト ID です。

    plugins {
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.1.1"
    }
    
    publishing {
      repositories {
        maven {
          url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
        }
      }
    }
    
    repositories {
      maven {
        url "artifactregistry://us-central1-maven.pkg.dev/PROJECT/quickstart-maven-repo"
      }
    }
    
  4. build.gradle ファイルに publications セクションが含まれていることを確認します。publications セクションは、次の例に示すように、publishing の子です。

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

init.gradle ファイルまたは settings ファイルにリポジトリ構成を追加することもできます。これらのオプションの詳細については、認証の設定をご覧ください。

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

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

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

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

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

コンソール

  1. Cloud Console で [リポジトリ] ページを開きます。

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

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

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

gcloud

quickstart-maven-repo リポジトリ内のパッケージを一覧表示するには、次のコマンドを実行します。

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

パッケージのバージョンを表示するには、次のコマンドを実行します。

gcloud artifacts versions list --package=PACKAGE

PACKAGE はパッケージ ID です。

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

リポジトリを削除する前に、保持する必要があるパッケージが別の場所で使用可能であることを確認してください。

リポジトリを削除するには、次の手順を行います。

コンソール

  1. Cloud Console で [リポジトリ] ページを開きます。

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

  2. リポジトリ リストで、quickstart-maven-repo リポジトリを選択します。

  3. [削除] をクリックします。

gcloud

  1. quickstart-maven-repo リポジトリを削除するには、次のコマンドを実行します。

    gcloud artifacts repositories delete quickstart-maven-repo
    
  2. アクティブな gcloud 構成用に構成したデフォルトのリポジトリとロケーション設定を削除するには、次のコマンドを実行します。

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

次のステップ