Maven および Gradle 用の Artifact Registry への認証を構成する

サードパーティのアプリケーションを使用して Artifact Registry リポジトリに接続する場合は、Artifact Registry に対して認証する必要があります。このドキュメントでは、Maven と Gradle の構成を中心に説明します。

Cloud Build または Google Cloud ランタイム環境(Google Kubernetes Engine、Cloud Run など)に対する認証を構成する必要はありませんが、必要な権限が構成されていることを確認する必要があります。 詳細については、Cloud Build と Google Cloud ランタイム環境へのデプロイに関する情報をご覧ください。

始める前に

  1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

    gcloud init
  2. (省略可)gcloud コマンドのデフォルトを構成します。
  3. 標準のリポジトリを使用して認証を構成する場合は、バージョン ポリシーを確認することで、アップロードできる Java パッケージのタイプに対して Maven プロジェクトを正しく構成できます。

    コンソール

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

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

    2. 認証するリポジトリをクリックします。

      [詳細] セクションにバージョン ポリシーが表示されます。リポジトリにスナップショットのバージョン ポリシーがある場合、[スナップショットの上書きを許可] フィールドは、スナップショットがリポジトリ内の一致するスナップショットのバージョンを上書きできるかどうかを示します。

    gcloud

    次のコマンドを実行して、リポジトリの説明を表示します。

    gcloud artifacts repositories describe REPOSITORY \
          --project=PROJECT \
          --location=LOCATION
    

    Where

    • REPOSITORY はリポジトリの ID です。デフォルトの Artifact Registry リポジトリを構成した場合、このフラグがコマンドから省略されると使用されます。
    • PROJECT は、プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。
    • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。

    コマンドの出力では、バージョン ポリシーに関する情報が mavenConfig の下に含まれています。この例では、リポジトリにスナップショットのバージョン ポリシーがあり、スナップショットはリポジトリ内の同一のバージョンを上書きできません。

    Encryption: Google-managed key
    createTime: '2021-10-04T19:39:10.897404Z'
    format: MAVEN
    mavenConfig:
      allowSnapshotOverwrites: false
      versionPolicy: SNAPSHOT
    

    リポジトリにバージョン ポリシーがない場合、mavenConfig の値は {} です。

概要

Artifact Registry では、次の認証方法がサポートされています。

認証ヘルパーの使用
このオプションは非常に柔軟性に優れています。Maven または Gradle の構成にヘルパーを含めると、Artifact Registry で環境内のサービス アカウントの認証情報を検索します。
認証情報としてサービス アカウント キーを指定
このオプションは、アプリケーションがアプリケーションのデフォルト認証情報に対応していないものの、ユーザー名とパスワードによる認証をサポートしている場合に使用します。

サービス アカウント キーは、有効期間が長い認証情報です。次のガイドラインを使用して、リポジトリへのアクセスを制限してください。

  • リポジトリの操作には、専用のサービス アカウントの使用を検討してください。
  • サービス アカウントに必要な最小限の Artifact Registry のロールを付与します。たとえば、アーティファクトのみをダウンロードするサービス アカウントに Artifact Registry の読み取り権を割り当てます。
  • 組織内のグループが特定のリポジトリに対する異なるレベルのアクセス権を必要とする場合は、プロジェクト レベルではなくリポジトリ レベルでアクセス権を付与します。
  • 認証情報管理のおすすめの方法に従います。

認証情報ヘルパーによる認証

Artifact Registry は、認証情報ヘルパーとして Maven ワゴンGradle プラグインを備えています。認証情報ヘルパーを使用すると、認証情報が Java プロジェクトに保存されません。代わりに Artifact Registry では次の順序で認証情報を検索します。

  1. アプリケーションのデフォルト認証情報(ADC)。次の順序で認証情報を検索する戦略です。

    1. GOOGLE_APPLICATION_CREDENTIALS 環境変数で定義された認証情報。

    2. Compute Engine、Google Kubernetes Engine、Cloud Run、App Engine、Cloud Functions のデフォルト サービス アカウントによって指定される認証情報。

  2. コマンド gcloud auth application-default login からのユーザー認証情報など、Google Cloud CLI によって提供される認証情報。

GOOGLE_APPLICATION_CREDENTIALS 変数によって、アカウントの認証が明示的になるため、トラブルシューティングが容易になります。この変数を使用しない場合は、ADC が使用するアカウントに必要な権限があることを確認します。たとえば、Compute Engine VM、Google Kubernetes Engine ノード、Cloud Run リビジョン用のデフォルトのサービス アカウントには、リポジトリへの読み取り専用権限が付与されています。デフォルトのサービス アカウントを使用して、これらの環境からアップロードする場合は、権限を変更する必要があります。

認証情報ヘルパーのサービス アカウントを設定する

サービス アカウントを作成し、環境変数を使用して認証を設定する手順は次のとおりです。

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

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

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

  2. 適切な Artifact Registry のロールをサービス アカウントに付与して、リポジトリへのアクセスを許可します。

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

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

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

Maven を構成する

  1. 使用するリポジトリの種類に応じて Maven を構成します。

    スタンダード

    1. 次のコマンドを実行して、Java プロジェクトに追加するリポジトリ構成を出力します。

      gcloud artifacts print-settings mvn \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION
      

      Where

      • PROJECT は、プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。
      • REPOSITORY はリポジトリの ID です。デフォルトの Artifact Registry リポジトリを構成した場合、このフラグがコマンドから省略されると使用されます。
      • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。
    2. 返された設定を、Maven プロジェクト用の pom.xml ファイル内の適切なセクションに追加します。ファイルの構造についての詳細については、Maven の POM リファレンスをご覧ください。

      次の例では、スナップショットとリリースの両方のバージョンを保存するリポジトリの設定を示します。

      <distributionManagement>
        <snapshotRepository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </snapshotRepository>
        <repository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </repository>
      </distributionManagement>
      
      <repositories>
        <repository>
          <id>artifact-registry</id>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</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>
      

      <release> 要素と <snapshot> 要素は、リポジトリがリリース パッケージ、スナップショット パッケージ、またはその両方を保存するかどうかを示します。これらの設定は、リポジトリのバージョン ポリシーに対応している必要があります。

      <build> 要素は、Artifact Registry ワゴンを拡張機能として定義します。ワゴンについては、Artifact Registry Maven ツールのドキュメントをご覧ください。

    リモートまたは仮想

    プロジェクト内の pom.xml ファイルを編集します。ファイルの構造についての詳細については、Maven の POM リファレンスをご覧ください。

    次の例では、スナップショットとリリースの両方のバージョンを保存するリモート リポジトリの設定を示します。この例では、プロジェクトに Guava パッケージのバージョンに対する依存関係があります。

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.google.hello</groupId>
      <artifactId>repo-config</artifactId>
      <version>4.1-SNAPSHOT</version>
      <description>version 1 release</description>
    
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>28.0-jre</version>
        </dependency>
      </dependencies>
    
      <repositories>
        <repository>
          <id>central</id>
          <name>Maven Central remote repository</name>
          <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT_ID/REMOTE-REPOSITORY-NAME</url>
          <layout>default</layout>
          <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>
    </project>
    
    • <repositories> セクションでは、Artifact Registry リポジトリを定義します。リモート リポジトリの場合は、<id> 要素を central に設定する必要があります。この設定は、スーパー POM から継承される central リポジトリ ID のデフォルト値をオーバーライドします。

    • <build> セクションでは、Artifact Registry ワゴンを拡張機能として設定します。ワゴンについては、Artifact Registry Maven ツールのドキュメントをご覧ください。

    • この例で、<dependencies> セクションは、Guava パッケージ バージョン 28.0-jre への依存関係を設定します。

  2. Maven は、pom.xml で定義されたワゴンを適用する前に、次のような依存関係を解決します。

    • <parent> 要素を使用した、子 Maven プロジェクト内の親プロジェクトへの参照。
    • Artifact Registry に格納されているプラグインの依存関係。

    プロジェクトでこれらの依存関係を解決する必要がある場合は、コア拡張機能メカニズムを使用して、Maven が親 POM ファイルとプラグインを見つけることができるようにする必要があります。

    プロジェクトで、次の内容を含むファイル ${maven.projectBasedir}/.mvn/extensions.xml を作成します。<extension> 要素はワゴンを定義します。

    <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.1</version>
      </extension>
    </extensions>
    

    以上により、Maven で、Artifact Registry から親またはプラグインの依存関係を解決できるようになりました。

認証構成は完了しました。

Gradle を構成する

  1. 使用するリポジトリの種類に合わせて Gradle を設定します。

    スタンダード

    1. 次のコマンドを実行して、Java プロジェクトに追加するリポジトリ構成を出力します。

      gcloud artifacts print-settings gradle \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION
      

      Where

      • PROJECT は、プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。
      • REPOSITORY はリポジトリの ID です。デフォルトの Artifact Registry リポジトリを構成した場合、このフラグがコマンドから省略されると使用されます。
      • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。
    2. リポジトリ設定を build.gradle ファイルに追加します。次の例は、出力されたセクションの相対的な位置を示しています。

      plugins {
        id "maven-publish"
        id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.1"
      }
      
      publishing {
        publications {
          mavenJava(MavenPublication) {
            groupId 'maven.example.id'
            from components.java
           }
        }
        repositories {
          maven {
            url "artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
          }
        }
      }
      repositories {
        maven {
          url "artifactregistry://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
        }
      }
      
      • plugins セクションでは、Artifact Registry プラグインを宣言します。プラグインについては、Artifact Registry Maven ツールのドキュメントをご覧ください。

      • publishing セクションでは、アップロードするファイルとターゲットの Artifact Registry リポジトリを定義します。アップロードする準備ができたら、publications セクション内のファイルリストを更新できます。公開設定の詳細については、Maven Publish プラグインのドキュメントをご覧ください。

    リモートまたは仮想

    リポジトリ設定を build.gradle ファイルに追加します。

    次の例では、リモート リポジトリの設定を示します。この例では、プロジェクトに Guava パッケージのバージョンに対する依存関係があります。

    plugins {
      id 'java'
      id "maven-publish"
      id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.1"
      id 'maven'
    }
    
    repositories {
      maven {
        url "artifactregistry://LOCATION-maven.pkg.dev /PROJECT_ID/REMOTE-REPOSITORY-NAME"
      }
    }
    dependencies {
      compile "com.google.guava:guava:31.1-jre"
    }
    
    • plugins セクションでは、Artifact Registry プラグインを宣言します。プラグインについては、Artifact Registry Maven ツールのドキュメントをご覧ください。

    • repositories セクションでは、Artifact Registry リポジトリを定義します。

    • この例で、dependencies セクションは、Guava パッケージ バージョン 31.1-jre への依存関係を設定します。

    dependencies セクションで、パッケージの依存関係を定義します。

  2. init.gradle ファイルまたは settings.gradle ファイルでリポジトリを使用する必要がある場合は、プラグイン構成をそれらのファイルに追加できます。

    init.gradle には、次の構成を追加します。

    initscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"
        }
      }
      dependencies {
        classpath "gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.2.1"
      }
    }
    apply plugin: com.google.cloud.artifactregistry.gradle.plugin.ArtifactRegistryGradlePlugin
    

    settings.gradle には、次の構成を追加します。

    buildscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"              }
        }
      dependencies {
        classpath "gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.2.1"
      }
    }
    apply plugin: "com.google.cloud.artifactregistry.gradle-plugin"
    

認証構成は完了しました。

パスワード認証の構成

Java アプリケーションで指定されたユーザー名とパスワードによる認証が必要な場合は、この方法を使用します。

パスワード認証用のサービス アカウントを設定する

サービス アカウントの作成:

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

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

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

  2. 現在の gcloud CLI セッションでサービス アカウントを有効にする場合は、次のコマンドを実行します。

    gcloud auth activate-service-account ACCOUNT --key-file=KEY-FILE
    

    Where

    • ACCOUNT は、ユーザーまたはサービス アカウントです。
    • KEY-FILE はサービス アカウントの JSON キーファイルのパスです。

Maven を構成する

  1. 使用するリポジトリの種類に応じて Maven を構成します。

    スタンダード

    1. 次のコマンドを実行して、Java プロジェクトに追加するリポジトリ構成を出力します。

      gcloud artifacts print-settings mvn \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION \
          --json-key=KEY-FILE
      

      Where

      • PROJECT は、プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。
      • REPOSITORY はリポジトリの ID です。デフォルトの Artifact Registry リポジトリを構成した場合、このフラグがコマンドから省略されると使用されます。
      • LOCATION は、リポジトリのリージョンまたはマルチリージョンのロケーションです。
      • KEY-FILE はサービス アカウントの JSON キーファイルのパスです。

    このコマンドは、秘密鍵の base64 でエンコードされたバージョンを含む、Java プロジェクトに含める設定を返します。

    1. 返された <project> 要素内のリポジトリ設定を、Maven プロジェクトの pom.xml ファイルの適切なセクションに追加します。ファイルの構造の詳細については、Maven の POM リファレンスをご覧ください。
    <project>
      <distributionManagement>
        <snapshotRepository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </snapshotRepository>
        <repository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
        </repository>
      </distributionManagement>
    
      <repositories>
        <repository>
          <id>artifact-registry</id>
          <url>https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </project>
    

    <release> 要素と <snapshot> 要素は、リポジトリがリリース パッケージ、スナップショット パッケージ、またはその両方を保存するかどうかを示します。これらの設定は、リポジトリのバージョン ポリシーに対応している必要があります。

    1. 返された <settings> 要素内の認証設定を ~/.m2/settings.xml ファイルの <servers> セクションに追加します。次の例では、KEY はキーファイルの base64 でエンコードされた鍵です。

    詳細については、Maven 設定リファレンスをご覧ください。

    <settings>
      <servers>
        <server>
          <id>artifact-registry</id>
          <configuration>
            <httpConfiguration>
              <get>
                <usePreemptive>true</usePreemptive>
              </get>
              <head>
                <usePreemptive>true</usePreemptive>
              </head>
              <put>
                <params>
                  <property>
                    <name>http.protocol.expect-continue</name>
                    <value>false</value>
                  </property>
                </params>
              </put>
            </httpConfiguration>
          </configuration>
          <username>_json_key_base64</username>
          <password>KEY</password>
        </server>
      </servers>
    </settings>
    

    リモートまたは仮想

    1. リポジトリ設定を、Maven プロジェクトの pom.xml ファイルの適切なセクションに追加します。ファイルの構造についての詳細については、Maven の POM リファレンスをご覧ください。

      <repositories>
        <repository>
           <id>central</id>
           <name>Maven Central remote repository</name>
           <url>artifactregistry://LOCATION-maven.pkg.dev/PROJECT_ID/REMOTE-REPOSITORY-NAME</url>
           <layout>default</layout>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      

    <repositories> セクションでは、Artifact Registry リポジトリを定義します。 リモート リポジトリの場合は、<id> 要素を central に設定する必要があります。この設定は、スーパー POM から継承される central リポジトリ ID のデフォルト値をオーバーライドします。

    1. 次のコマンドを使用して、鍵ファイルを Base64 エンコードします。KEY-FILE を鍵ファイルの名前に置き換えます。

      base64 -w 0 KEY-FILE
      
    2. <settings> 要素内の認証設定を、~/.m2/settings.xml ファイルの <servers> セクションに追加します。

    詳細については、Maven 設定リファレンスをご覧ください。

    <settings>
      <servers>
        <server>
          <id>artifact-registry</id>
          <configuration>
            <httpConfiguration>
              <get>
                <usePreemptive>true</usePreemptive>
              </get>
              <head>
                <usePreemptive>true</usePreemptive>
              </head>
              <put>
                <params>
                  <property>
                    <name>http.protocol.expect-continue</name>
                    <value>false</value>
                  </property>
                </params>
              </put>
            </httpConfiguration>
          </configuration>
          <username>_json_key_base64</username>
          <password>KEY</password>
        </server>
      </servers>
    </settings>
    

認証構成は完了しました。

Gradle を構成する

  1. 使用するリポジトリの種類に合わせて Gradle を設定します。

    スタンダード

    1. 次のコマンドを実行して、Java プロジェクトに追加するリポジトリ構成を出力します。

      gcloud artifacts print-settings gradle \
          --project=PROJECT \
          --repository=REPOSITORY \
          --location=LOCATION \
          --json-key=KEY-FILE
      

      Where

      • PROJECT は、プロジェクト ID です。
      • REPOSITORY は、リポジトリの ID または完全修飾識別子です。デフォルトの Artifact Registry リポジトリを構成した場合、このフラグがコマンドから省略されると使用されます。
      • KEY-FILE はサービス アカウントの JSON キーファイルのパスです。コマンドを実行してサービス アカウントを有効にした場合、このフラグは省略できます。

      このコマンドは、秘密鍵の base64 でエンコードされたバージョンを含む、Java プロジェクトに含める設定を返します。

    2. 返された構成の次の行では、サービス アカウント キー用に artifactRegistryMavenSecret という名前の変数を定義しています。次の行を ~/.gradle/gradle.properties ファイルに追加して、ビルドやソース管理リポジトリに鍵が表示されないようにします。

      artifactRegistryMavenSecret = KEY
      

      この行では、KEY はサービスのサービス アカウント キーファイル内の秘密鍵です。_json_key_base64 の場合、artifactRegistryMavenSecret は base64 でエンコードされた鍵がパスワードとして設定されます。

    3. build.gradle で、リポジトリ設定を指定します。

      plugins {
        id "maven-publish"
      }
      
      publishing {
        publications {
          mavenJava(MavenPublication) {
            groupId 'maven.example.id'
            from components.java
          }
        }
        repositories {
          maven {
            url "https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
            credentials {
              username = "_json_key_base64"
              password = "$artifactRegistryMavenSecret"
            }
            authentication {
              basic(BasicAuthentication)
            }
          }
        }
      }
      repositories {
        maven {
          url "https://LOCATION-maven.pkg.dev/PROJECT/REPOSITORY"
          credentials {
            username = "_json_key_base64"
            password = "$artifactRegistryMavenSecret"
          }
          authentication {
            basic(BasicAuthentication)
          }
        }
      }
      
      • repositories セクションでは、認証用のリポジトリ URL と認証情報を設定します。
      • publishing セクションでは、アップロードするファイルとターゲットの Artifact Registry リポジトリを定義します。アップロードする準備ができたら、publications セクション内のファイルリストを更新できます。公開設定の詳細については、Maven Publish プラグインのドキュメントをご覧ください。

    リモートまたは仮想

    1. 次のコマンドを使用して、鍵ファイルを Base64 エンコードします。KEY-FILE を鍵ファイルの名前に置き換えます。

      base64 -w 0 KEY-FILE
      
    2. ~/.gradle/gradle.properties ファイルに次の行を追加して、ビルドやソース管理リポジトリに鍵が表示されないようにします。

      artifactRegistryMavenSecret = KEY
      

      この行の KEY は、base64 エンコードされた鍵ファイルの内容です。

    3. リポジトリ設定を build.gradle ファイルに追加します。

    次の例では、リモート リポジトリの構成を示します。

    plugins {
      id 'java'
      id "maven-publish"
      id 'maven'
    }
    
    repositories {
      maven {
        url "artifactregistry://LOCATION-maven.pkg.dev /PROJECT_ID/REMOTE-REPOSITORY-NAME"
        credentials {
        username = "_json_key_base64"
        password = "$artifactRegistryMavenSecret"
      }
      authentication {
        basic(BasicAuthentication)
      }
      dependencies {
        compile "com.google.guava:guava:31.1-jre"
      }
    
    • repositories セクションでは、Artifact Registry リポジトリを定義します。

    • この例で、dependencies セクションは、Guava パッケージ バージョン 31.1-jre への依存関係を設定します。

    dependencies セクションで、パッケージの依存関係を定義します。

認証構成は完了しました。

次のステップ