無料枠の直接リポジトリ アクセスを使用して Java パッケージをダウンロードする

無料枠では、Assured Open Source Software パッケージは Google が管理する Artifact Registry リポジトリにホストされます。

このページでは、Assured OSS の Artifact Registry リポジトリに接続して、Java パッケージに直接アクセスしてダウンロードする方法について説明します。

このドキュメントは、無料枠にのみ適用されます。Premium ティアについては、リポジトリへの直接アクセスを使用して Java パッケージをダウンロードするをご覧ください。

始める前に

  1. 組織に対するサービス アカウント キー管理者roles/iam.serviceAccountKeyAdmin)IAM ロールを付与するよう管理者に依頼します。この権限は、サービス アカウント キーの base64 エンコードされた文字列を取得するために必要です。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

  2. Assured OSS を構成します。無料ティアの場合は、お客様有効化フォームを送信して、Assured OSS へのアクセスを有効にします。

  3. リクエストされたサービス アカウントの Assured OSS への接続を検証します。

  4. Assured OSS へのアクセスに使用されるサービス アカウントの親 Google Cloud プロジェクトで Artifact Registry API を有効にします。

  5. Google Cloud CLI の最新バージョンをインストールします。すでに Google Cloud CLI をインストールしている場合は、次のコマンドを実行して、最新バージョンがインストールされていることを確認してください。

    gcloud components update
    

認証を設定する

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

  • 認証ヘルパーによる認証
  • パスワードによる認証

以下のセクションでは、これらの認証方法の設定について説明します。

認証ヘルパーを使用して認証する

Artifact Registry には、認証ヘルパーとして使用できる Maven ワゴンGradle プラグインがあります。これは最も柔軟性が高いオプションです。

アプリケーションのデフォルト認証情報を設定するには、認証を設定するをご覧ください。

認証ヘルパーを設定する

認証ヘルパーを使用して認証を設定するには、ビルドツールに基づいて次の変更を加えます。

Maven

<project>
  <build>
    <extensions>
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.0</version>
      </extension>
    </extensions>
  </build>
</project>

Gradle

plugins {
  id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
}

パスワードを使用して認証する

Java アプリケーションで指定されたユーザー名とパスワードによる認証が必要な場合は、パスワードを使用して認証します。ビルドツールに応じて設定を変更します。

Maven

~/.m2/settings.xml ファイルの settings セクションに、次の認証設定を追加します。ファイルが存在しない場合は作成します。詳細については、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>

KEY はサービス アカウント JSON キーファイル全体の base64 エンコードに置き換えます。これを行うには、次のコマンドを実行します。

cat KEY_FILE_LOCATION  | base64

ここで、KEY_FILE_LOCATION はサービス アカウントの JSON キーファイルの場所です。

Gradle

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

artifactRegistryMavenSecret = KEY

KEY はサービス アカウントの JSON キーファイルの秘密鍵に置き換えます。json_key_base64 の場合、artifactRegistryMavenSecret には base64 で暗号化されたパスワードが含まれています。例: base64 -w 0 KEY

次の例を使用して、build.gradle ファイルでリポジトリの設定を指定します。

repositories {
  maven {
    url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
    credentials {
      username = "_json_key_base64"
      password = "$artifactRegistryMavenSecret"
    }
    authentication {
      basic(BasicAuthentication)
    }
  }
}

プロジェクト構成ファイルを更新してリポジトリを指定する

Maven

Maven プロジェクトの pom.xml ファイル内の適切なセクションに、次の設定を追加します。認証設定は置き換えないでください。

<project>
  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>

ファイルの構造について詳細は、Maven の POM リファレンスをご覧ください。

Gradle

build.gradle ファイルで次のリポジトリ設定を指定します。認証設定は置き換えないでください。

repositories {
  maven {
  url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
  }
}

プロジェクト構成ファイルを更新して依存関係を追加する

アーティファクトをビルドの一部としてダウンロードするには、アーティファクトを依存関係として宣言する必要があります。

Maven

ダウンロードするパッケージを Maven プロジェクトの pom.xml ファイルで宣言します。

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

Gradle

ダウンロードするパッケージを build.gradle ファイルで宣言します。

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
}

Assured OSS で利用できない Java パッケージにアクセスする

Assured OSS の Artifact Registry リポジトリで利用できないパッケージにアクセスできます。

Assured OSS は、優先リポジトリとして Assured OSS、セカンダリ リポジトリとして正規公開リポジトリ(Maven Central や PyPI など)を使用して事前構成されます。(プレビュー)機能を使用するには、次の URL を指定します。

https://us-maven.pkg.dev/cloud-aoss/java

Assured OSS で利用可能なすべての Java パッケージを一覧表示する

API を使用して、Artifact Registry リポジトリで使用可能なすべての Java パッケージのリストを取得するには、Assured OSS で利用可能なすべての Java パッケージを一覧表示するをご覧ください。

次のステップ