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 パッケージの発行と復元について説明します。
前提条件
Azure DevOps organization と project をまだ作成していない場合は作成します。
Apache Maven をダウンロードインストールします。
フィードの作成
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
Nameフィードのわかりやすい名前を入力します。
Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。
パブリック ソースのパッケージを含める場合は、 Upstream ソースの下にあるチェック ボックスをオンにします。
Scopeでは、フィードのスコープがプロジェクトか組織かを指定します。
終わったら [作成] を選択します。
Azure DevOps サーバーにサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
Nameフィードのわかりやすい名前を入力します。
Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。
パブリック ソースのパッケージを含める場合は、 Upstream ソースの下にあるチェック ボックスをオンにします。
Scopeでは、フィードのスコープがプロジェクトか組織かを指定します。
終わったら [作成] を選択します。
終わったら [作成] を選択します。
Azure DevOps サーバーにサインインし、プロジェクトに移動します。
Artifactsを選択し、新しいフィード選択。
Nameフィードのわかりやすい名前を入力します。
Visibilityでは、フィード内でパッケージを表示できるユーザーを示すオプションを選択します。
パブリック ソースのパッケージを含める場合は、 [このフィードを使用してパブリック ソースからパッケージを使用する ] オプションを選択します。
終わったら [作成] を選択します。
Note
既定では、新しく作成されたフィードのプロジェクトの Build Service 値は Feed および Upstream Reader (コラボレーター)に設定されます。
フィードに接続する
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
[フィードする接続 を選択し左側のナビゲーション領域から Maven を選択します。
Maven で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認してください。 それ以外の場合は、右上隅にある [ツールのインストール] を選択してインストールします。
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>
Packaging>Read & write スコープを使用してPersonal アクセス トークンを生成し、
<password>
タグに貼り付けます。
Azure DevOps コレクションにサインインし、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
フィードに接続を選択し、左側のナビゲーション ウィンドウから Maven を選択します。
Maven で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認します。それ以外の場合は、右上隅にある [ツールを使用する を選択してインストールします。
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>
Packaging>Read & write スコープを使用してPersonal アクセス トークンを生成し、
<password>
タグに貼り付けます。
Azure DevOps コレクションにサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを選択します。
フィードに接続を選択し、左側のナビゲーション ウィンドウから Maven を選択します。
Generate Maven 資格情報を選択し
<servers>
タグ内のユーザー settings.xml ファイルに資格情報を追加します。 ファイルは次の例のようになります。<servers> <server> <id>server-2019-defaultcollection-demo</id> <username><FEED_NAME></username> <password>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password> </server> </servers>
<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>
パッケージの公開
コマンド プロンプト ウィンドウを開き、 pom.xml ファイルがあるプロジェクト ディレクトリに移動し、次のコマンドを実行してプロジェクトをパッケージ化します。 このコマンドは、コードをコンパイルし、含まれているテストを実行し、プロジェクトを再頒布可能な形式 (JAR ファイルなど) にパッケージ化します。
mvn package
プロジェクト ディレクトリから次のコマンドを実行して、パッケージをフィードに発行します。
mvn deploy
パッケージが正常にデプロイされると、すぐにフィードで使用できるようになります。
Note
組織でファイアウォールまたはプロキシ サーバーを使用している場合は、Azure Artifacts のドメイン URL と IP アドレスを必ず許可してください。
パッケージの復元
Azure DevOps プロジェクトで Artifacts に移動し、ドロップダウン メニューからフィードを選択し、インストールするパッケージを選択します。
Overview>Maven に移動し、依存関係スニペットをコピーします。
pom.xml ファイルを開き、
<dependencies>
タグ内にスニペットを貼り付けます。pom.xml ファイルがあるディレクトリから次のコマンドを実行して、パッケージを復元します。
mvn install