Azure Artifacts での Maven パッケージの概要

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts を使用すると、開発者はパッケージ共有を制御しながら、1 つのフィードから依存関係を管理できます。 Azure Artifacts フィードを使用すると、Maven パッケージを発行および復元し、Maven Central、Google Maven リポジトリ、Gradle プラグイン、JitPack などのパブリック レジストリからパッケージを使用するようにアップストリーム ソースを設定できます。 この記事では、Maven プロジェクトの設定、Azure Artifacts フィードへの接続、Maven パッケージの発行と復元について説明します。

前提条件

フィードの作成

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

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

  3. Nameフィードのわかりやすい名前を入力します。

    Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。

    パブリック ソースのパッケージを含める場合は、 Upstream ソースの下にあるチェック ボックスをオンにします。

    Scopeでは、フィードのスコープがプロジェクトか組織かを指定します。

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

    Azure DevOps Services で新しいフィードを作成するための選択を示すスクリーンショット。

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

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

  3. Nameフィードのわかりやすい名前を入力します。

    Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。

    パブリック ソースのパッケージを含める場合は、 Upstream ソースの下にあるチェック ボックスをオンにします。

    Scopeでは、フィードのスコープがプロジェクトか組織かを指定します。

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

    Azure DevOps 2022 で新しいフィードを作成するための選択を示すスクリーンショット。

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

    Azure DevOps 2020 で新しいフィードを作成するための選択を示すスクリーンショット。

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

  2. Artifactsを選択し、新しいフィード選択

  3. Nameフィードのわかりやすい名前を入力します。

    Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。

    パブリック ソースのパッケージを含める場合は、 [このフィードを使用してパブリック ソースからパッケージを使用する ] オプションを選択します。

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

    Azure DevOps 2019 で新しいフィードを作成するための選択を示すスクリーンショット。

Note

既定では、新しく作成されたフィードのプロジェクトの Build Service 値は Feed および Upstream Reader (コラボレーター)に設定されます。

フィードに接続する

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

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

  3. [フィードする接続 を選択し左側のナビゲーション領域から Maven を選択します。

  4. Maven で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認してください。 それ以外の場合は、右上隅にある [ツールのインストール] を選択してインストールします。

  5. Project のセットアップセクションの手順に従って、pom.xmlファイルとsettings.xml ファイルを設定します。 ファイルは次の例のようになります。

    • pom.xml:

        <repositories>
          <repository>
            <id>MavenDemo</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>MavenDemo</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>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><ORGANIZATION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. Packaging>Read & write スコープを使用してPersonal アクセス トークンを生成し、<password> タグに貼り付けます。

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

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

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

  4. Maven で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認します。それ以外の場合は、右上隅にある [ツールを使用する を選択してインストールします。

  5. Project のセットアップセクションの手順に従って、pom.xmlファイルとsettings.xml ファイルを設定します。 ファイルは次の例のようになります。

    • pom.xml:

        <repositories>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </repositories>
        <distributionManagement>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </distributionManagement>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><COLLECTION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. Packaging>Read & write スコープを使用してPersonal アクセス トークンを生成し、<password> タグに貼り付けます。

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

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

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

  4. Generate Maven 資格情報を選択し<servers>タグ内のユーザー settings.xml ファイルに資格情報を追加します。 ファイルは次の例のようになります。

      <servers>
        <server>
          <id>server-2019-defaultcollection-demo</id>
          <username><FEED_NAME></username>
          <password>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password>
        </server>
      </servers>
    
  5. <repositories>タグと<distributionManagement> タグの両方内のプロジェクトのpom.xmlに 2 番目のスニペットを追加します。 ファイルは次の例のようになります。

      <repositories>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <distributionManagement>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </distributionManagement>
    

パッケージの公開

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

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

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

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

Note

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

パッケージの復元

  1. Azure DevOps プロジェクトで Artifacts に移動し、ドロップダウン メニューからフィードを選択し、インストールするパッケージを選択します。

  2. Overview>Maven に移動し、依存関係スニペットをコピーします。

  3. pom.xml ファイルを開き、<dependencies> タグ内にスニペットを貼り付けます。

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

    mvn install