Gradle を使用して Maven 成果物を発行する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
この記事では、Gradle を使用して Azure Artifacts フィードに接続し、Maven 成果物を発行する方法について説明します。
前提条件
Azure DevOps 組織。 organizationをまだ作成していない場合は作成します。
Azure Artifacts フィード。 まだフィード がない場合は、フィードを作成します。
Gradle をダウンロードしてインストールします。
Java SE をインストールします。
プロジェクトの設定
プロジェクトを設定する前に、Gradle をインストールし、Maven Settings プラグインを build.gradle ファイルに次のように追加していることを確認します。
plugins {
id "net.linguica.maven-settings" version "0.5"
}
個人用アクセス トークンを作成する
Azure DevOps organizationにサインインし、プロジェクトに移動します。
[ ユーザー設定] を選択し、[ 個人用アクセス トークン] を選択します。
[新しいトークン] を選んで、必要なフィールドに入力します。 [パッケージ化]>[読み取りおよび書き込み] スコープを選んでください。
完了したら、[作成] を選択します。 トークンをコピーし、セキュリティで保護された場所に保存します。
build.gradle を構成する
build.gradle ファイルがプロジェクトのルートに存在しない場合は、新しいファイルを作成し、build.gradle という名前を付けます。
次のセクションを、リポジトリと publishing.repositories コンテナーの両方の build.gradle ファイルに追加します。
maven { url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' name '<FEED_NAME>' authentication { basic(BasicAuthentication) } }
build.gradle ファイルの例を次に示します。
publishing { publications { myPublication(MavenPublication) { groupId '<GROUP_ID>' artifactId '<ARTIFACT_ID>' version '<VERSION_NUMBER>' artifact '<PATH_TO_YOUR_JAR_FILE>' } } // Repositories to publish artifacts repositories { maven { url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' name '<FEED_NAME>' authentication { basic(BasicAuthentication) } } } } // Repositories to fetch dependencies repositories { maven { url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' name '<FEED_NAME>' authentication { basic(BasicAuthentication) } } }
settings.xml を構成します
ホーム ディレクトリで settings.xml ファイルを開き、次のスニペットを追加します。 プレースホルダーをフィード名、organization名、前に作成した個人用アクセス トークンに置き換えます。
<server> <id>[FEED_NAME]</id> <username>[ORGANIZATION_NAME]</username> <password>[PERSONAL_ACCESS_TOKEN]</password> </server>
成果物を発行する
管理者特権でのコマンド プロンプトで次のコマンドを実行して、パッケージをフィードに発行します。 新しいパッケージの名前は groupId:artifactId になります。
gradle publish