翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
環境変数に CodeArtifact 認証トークンを取得した後、環境変数を使用して認証トークンを渡す の指示に従って、CodeArtifact リポジトリから Maven パッケージを使用し、新しいパッケージを CodeArtifact リポジトリに公開します。
依存関係の取得
Gradle ビルドの CodeArtifact から依存関係を取得するには、次の手順に従います。
Gradle ビルドの CodeArtifact から依存関係を取得するには
まだ実行していない場合は、「環境変数を使用して認証トークンを渡す」の手順に従って CodeArtifact 認証トークンを作成して環境変数に保存します。
-
プロジェクトファイル
build.gradle
のrepositories
セクションにmaven
セクションを追加します。maven { url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/' credentials { username "aws" password System.env.CODEARTIFACT_AUTH_TOKEN } }上記の例の
url
は、CodeArtifact リポジトリのエンドポイントです。Gradle は、エンドポイントを使用してリポジトリに接続します。サンプルでは、my_domain
はドメインの名前、111122223333
はドメインの所有者の ID 、そしてmy_repo
はリポジトリの名前です。リポジトリのエンドポイントは、get-repository-endpoint
AWS CLI コマンドを使用して取得できます。例えば、
my_domain
という名前の ドメイン内のrepo
という名前のリポジトリでは、コマンドは次のとおりです。aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format mavenget-repository-endpoint
コマンドはリポジトリエンドポイントを返します。url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/'上記の例の
credentials
オブジェクトには、手順 1 で作成した CodeArtifact 認証トークンが含まれています。Gradle は このトークンを CodeArtifact の認証に使用します。注記
デュアルスタックエンドポイントを使用するには、
codeartifact.
エンドポイントを使用します。region
.on.aws (オプション) CodeArtifact リポジトリをプロジェクトの依存関係の唯一のソースとして使用するには、
build.gradle
からrepositories
内の他のセクションを削除します。複数のリポジトリがある場合、Gradle はリストされている順序で各リポジトリの依存関係を検索します。リポジトリを構成したら、プロジェクトの依存関係を標準の Gradle 構文で
dependencies
セクションに追加できます。dependencies { implementation 'com.google.guava:guava:27.1-jre' implementation 'commons-cli:commons-cli:1.4' testImplementation 'org.testng:testng:6.14.3' }
プラグインの取得
デフォルトでは、Gradle はパブリック Gradle Plugin Portal
CodeArtifact リポジトリからプラグインをプルするには
まだ実行していない場合は、「環境変数を使用して認証トークンを渡す」の手順に従って CodeArtifact 認証トークンを作成して環境変数に保存します。
pluginManagement
ブロックをsettings.gradle
ファイルに追加します。pluginManagement
ブロックは、settings.gradle
の他のステートメントの前に置く必要があります。次のスニペットを参照してください。pluginManagement { repositories { maven { name 'my_repo' url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/' credentials { username 'aws' password System.env.CODEARTIFACT_AUTH_TOKEN } } } }
これにより、Gradle は指定したリポジトリからプラグインを解決します。一般的に必要な Gradle プラグインをビルドで使用できるように、リポジトリには Gradle Plugin Portal への外部接続を持つ上流リポジトリが必要です (例: gradle-plugins-store
) 。詳細については、Gradle ドキュメント
アーティファクトの公開
このセクションでは、Gradle でビルドされた Java ライブラリを CodeArtifact リポジトリに公開する方法について説明します。
まず、maven-publish
プラグインをプロジェクトの build.gradle
ファイルの plugins
セクションに追加します。
plugins {
id 'java-library'
id 'maven-publish'
}
次に、publishing
セクションをプロジェクト build.gradle
ファイルに追加します。
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'group-id
'
artifactId = 'artifact-id
'
version = 'version
'
from components.java
}
}
repositories {
maven {
url 'https://my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/'
credentials {
username "aws"
password System.env.CODEARTIFACT_AUTH_TOKEN
}
}
}
}
maven-publish
プラグインは、publishing
セクションで指定された groupId
、artifactId
および version
に基づいて POM ファイルを生成します。
これらの build.gradle
への変更が完了したら、次のコマンドを実行してプロジェクトをビルドし、それをリポジトリにアップロードします。
./gradlew publish
list-package-versions
を使用して、パッケージが正常に発行されたことを確認します。
aws codeartifact list-package-versions --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
\ --namespacecom.company.framework
--packagemy-package-name
サンプル出力:
{
"format": "maven
",
"namespace": "com.company.framework
",
"package": "example
",
"versions": [
{
"version": "1.0",
"revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC",
"status": "Published"
}
]
}
詳細については、Gradle ウェブサイトで以下のトピックを参照してください。
IntelliJ IDEAで Gradle ビルドを実行する
IntelliJ IDEAで、CodeArtifact から依存関係をプルする Gradle ビルドを実行できます。CodeArtifact で認証するには、CodeArtifact 認可トークンを Gradle に提供する必要があります。認証トークンを提供する方法は 3 つあります。
方法 1:
gradle.properties
に認証トークンを保存する。この方法は、gradle.properties
ファイルのコンテンツに上書きまたは追加できる場合に使用します。方法 2: 認証トークンを別のファイルに保存する。この方法は、
gradle.properties
ファイルを修正したくない場合に使用します。方法 3:
aws
をbuild.gradle
のインラインスクリプトとして実行して、実行ごとに新しい認証トークンを生成する。この方法は、実行ごとに Gradle スクリプトが新しいトークンを取得するようにしたい場合に使用します。トークンはファイルシステムに保存されません。
方法 1: gradle.properties
に認証トークンを保存する。
注記
この例は GRADLE_USER_HOME
にある gradle.properties
ファイルを示します。
-
次のスニペットを使用して
build.gradle
ファイルを更新する:repositories { maven { url 'https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/my_repo
/' credentials { username "aws" password "$codeartifactToken" } } } -
CodeArtifact からプラグインをフェッチするには、
settings.gradle
ファイル にpluginManagement
ブロックを追加します。pluginManagement
ブロックは、settings.gradle
の他のステートメントの前に置く必要があります。pluginManagement { repositories { maven { name 'my_repo' url 'https://
my_domain
-111122223333
.codeartifact.region
.amazonaws.com/maven/my_repo
/' credentials { username 'aws' password "$codeartifactToken" } } } } -
CodeArtifact 認証トークンを取得します。
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text --profileprofile-name
` -
gradle.properties
ファイルに認証トークンを書き込む:echo "codeartifactToken=$CODEARTIFACT_AUTH_TOKEN" > ~/.gradle/gradle.properties