Azure Artifacts で Maven パッケージの使用を開始する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Maven パッケージは、 Apache Maven ビルド ツールを使用して構築された Java バイナリです。 Azure Artifacts フィードを使用すると、複数のパッケージの種類を 1 つのフィードに格納できます。 保存されたパッケージを復元してプロジェクトをビルドしたり、チームや顧客と共有したりすることができます。 Azure Artifacts フィードでは、Maven Central、Google Maven リポジトリ、Gradle プラグイン、JitPack などのパブリック レジストリからのパッケージのアップストリーム ソース経由での使用もサポートされています。

この記事では、Maven プロジェクトの設定、Azure Artifacts フィードへの接続、Maven パッケージの発行と復元について説明します。

前提条件

製品 必要条件
Azure DevOps - Azure DevOps 組織。
- Azure DevOps プロジェクト。
- Apache Maven をダウンロードしてインストールします。

フィードの作成

フィードが既にある場合は、次のセクションに進むことができます。 それ以外の場合は、次のように新しいフィードを作成します。

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

  2. [ 成果物] を選択し、[ フィードの作成] を選択します。

  3. フィードの 名前 を指定し、[ 表示] を選択してパッケージを表示できるユーザーを定義し、フィードスコープを選択 します。 Maven Central や Google Maven Repository などのパブリック レジストリのパッケージを含める場合は、[ 一般的なパブリック ソースのパッケージを含める] をオンにします。

  4. 終わったら [作成] を選択します。

フィードに接続する

フィードが用意されたので、フィードで認証するように構成ファイルを設定する必要があります。また、Azure DevOps で認証するための個人用アクセス トークンを作成する必要があります。 フィードを認証して接続するには、次の手順に従います。

  1. パッケージ化を使用して個人用アクセス トークンを生成する>読み取りおよび書き込みスコープ。 PAT をコピーし、次の手順で必要に応じて安全な場所に保存します。

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

  3. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。

  4. [ フィードに接続] を選択し、左側のナビゲーション ウィンドウから Maven を選択します。

  5. このマシンで Maven で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認してください。

  6. pom.xml ファイルを開き、セクションと <repositories> セクションの両方の Project <distributionManagement> セクションに指定されたスニペットを追加します。 pom.xml は次のようになります。

        <repositories>
            <repository>
                <id>FEED_NAME</id>
                <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
                <releases>
                <enabled>true</enabled>
                </releases>
                <snapshots>
                <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <distributionManagement>
            <repository>
                <id>FEED_NAME</id>
                <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
                <releases>
                <enabled>true</enabled>
                </releases>
                <snapshots>
                <enabled>true</enabled>
                </snapshots>
            </repository>
        </distributionManagement>
    
  7. ユーザー レベルの settings.xml を開き、 <password> タグに PAT を追加します。 このファイルはローカルに保持する必要があるため、資格情報を公開しないようにソース コードにコミットしないようにしてください。 settings.xml ファイルは次のようになります。

        <servers>
            <server>
                <id>MavenDemo</id>
                <username><ORGANIZATION_NAME></username>
                <password>[PERSONAL_ACCESS_TOKEN]</password>
            </server>
        </servers>
    

パッケージの公開

フィードで認証したので、パッケージを発行して復元する準備ができました。

  1. パッケージをまだビルドしていない場合は、コマンド プロンプト ウィンドウを開き、 pom.xml ファイルがあるプロジェクト ディレクトリに移動し、次のコマンドを実行してプロジェクトをパッケージ化します。 このコマンドは、コードをコンパイルし、含まれているテストを実行し、プロジェクトを再頒布可能な形式 (JAR ファイルなど) にパッケージ化します。

    mvn package
    
  2. プロジェクト ディレクトリから次のコマンドを実行して、パッケージをフィードに発行します。

    mvn deploy
    
  3. パッケージが正常に発行されると、すぐに Azure Artifacts フィードで使用できるようになります。

    フィードにデプロイされた Maven パッケージを示すスクリーンショット。

注

組織でファイアウォールまたはプロキシ サーバーを使用している場合は、Azure Artifacts のドメイン URL と IP アドレスを必ず許可してください。

パッケージの復元

フィードからパッケージを復元するには、プロジェクト ディレクトリから mvn install コマンドを実行して、 pom.xmlに一覧表示されているすべての依存関係をインストールします。 フィードからインストールするパッケージが pom.xmlにない場合は、フィードを追加してフィードから復元する方法を次に示します。

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

  2. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。

  3. インストールするパッケージを選択し、 概要>Maven に移動し、依存関係スニペットをコピーします。 次のようになります。

    <dependency>
      <groupId>MyGroup</groupId>
      <artifactId>MavenQuickStartDemo</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    
  4. pom.xml ファイルを開き、<dependencies> タグ内にスニペットを貼り付けます。

  5. pom.xml ファイルがあるディレクトリから次のコマンドを実行して、パッケージを復元します。

    mvn install