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"
}

個人用アクセス トークンを作成する

  1. Azure DevOps organizationにサインインし、プロジェクトに移動します。

  2. [ ユーザー設定] を選択し、[ 個人用アクセス トークン] を選択します。

    個人用アクセス トークンを作成する方法を示すスクリーンショット

  3. [新しいトークン] を選んで、必要なフィールドに入力します。 [パッケージ化]>[読み取りおよび書き込み] スコープを選んでください。

  4. 完了したら、[作成] を選択します。 トークンをコピーし、セキュリティで保護された場所に保存します。

    読み取りおよび書き込みスコープをパッケージ化して新しい個人用アクセス トークンを作成する方法を示すスクリーンショット。

build.gradle を構成する

  1. build.gradle ファイルがプロジェクトのルートに存在しない場合は、新しいファイルを作成し、build.gradle という名前を付けます。

  2. 次のセクションを、リポジトリ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)
        }
    }
    
  3. 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 を構成します

  1. ホーム ディレクトリで settings.xml ファイルを開き、次のスニペットを追加します。 プレースホルダーをフィード名、organization名、前に作成した個人用アクセス トークンに置き換えます。

    <server>
        <id>[FEED_NAME]</id>
        <username>[ORGANIZATION_NAME]</username>
        <password>[PERSONAL_ACCESS_TOKEN]</password>
    </server>
    

成果物を発行する

管理者特権でのコマンド プロンプトで次のコマンドを実行して、パッケージをフィードに発行します。 新しいパッケージの名前は groupId:artifactId になります。

gradle publish