Azure Artifacts を使用すると、開発者は 1 つのフィードからすべての依存関係を効率的に管理できます。 Azure Artifacts のフィードは、チーム内、組織全体、またはインターネット上でパブリックにパッケージを格納、管理、共有するための組織リポジトリとして機能します。 Azure Artifacts では、NuGet、npm、Python、Maven、Cargo、ユニバーサル パッケージなど、さまざまな種類のパッケージがサポートされています。
この記事では、最初の NuGet パッケージを Azure Artifacts フィードに発行する手順について説明します。 必要に応じて、指示に従って GitHub Copilot を使用してプロジェクトを設定し、発行用のパッケージを準備できます。
前提条件
| 製品 | 必要条件 |
|---|---|
| Azure DevOps | - Azure DevOps 組織。 - Azure DevOps プロジェクト。 - Azure Artifacts 資格情報プロバイダーをダウンロードしてインストールします。 - 最新の NuGet バージョンをダウンロードしてインストールします。 |
| GitHub Copilot (省略可能) | - GitHub Copilot と Visual Studio Code を設定します。 まだサインアップしていない場合は、30 日間の GitHub Copilot 無料試用版を利用できます。 |
フィードの作成
既にフィードがある場合は、このセクションをスキップできます。 それ以外の場合は、次の手順に従って Azure Artifacts に新しいフィードを作成します。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードのわかりやすい 名前 を指定し、フィードでパッケージを表示できるユーザーを定義するように 可視性 を設定します。 フィードの スコープ を定義し、パブリック ソースのパッケージを含める場合は、[ アップストリーム ソース ] チェックボックスをオンにします。
終わったら [作成] を選択します。
Azure DevOps コレクションにサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードのわかりやすい 名前 を指定し、フィードでパッケージを表示できるユーザーを定義するように 可視性 を設定します。 フィードの スコープ を定義し、パブリック ソースのパッケージを含める場合は、[ アップストリーム ソース ] チェックボックスをオンにします。
終わったら [作成] を選択します。
パッケージを準備する
この例では、サンプルの .NET Core クラス ライブラリを使用し、パッケージ メタデータを設定してから、プロジェクトをビルドし、フィードに発行する準備ができている NuGet パッケージを作成します。 プロジェクトがまだない場合は、このガイドの手順に従って 、Visual Studio Code を使用して .NET クラス ライブラリを作成します。
Visual Studio Code でプロジェクトを開き、 csproj ファイルを選択します。
<PropertyGroup>タグ内にパッケージ メタデータを追加します。 ファイルは次のようになります。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <RootNamespace>demo_class_library</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PackageId>YOUR_PACKAGE_NAME</PackageId> <Version>YOUR_PACKAGE_VERSION</Version> <Authors>YOUR_NAME</Authors> <Company>YOUR_COMPANY</Company> </PropertyGroup> </Project>プロジェクト ディレクトリで次のコマンドを実行してプロジェクトをビルドし、 .nupkg パッケージを作成します。 パッケージは
bin\releaseフォルダーに格納されます。dotnet pack
フィードに接続する
プロジェクトを設定し、Azure Artifacts フィードに接続するには、次の手順に従います。 前提条件で説明されているように、Azure Artifacts 資格情報プロバイダーと最新バージョンの NuGet がインストールされていることを確認します。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
Artifactsを選択し、ドロップダウン メニューからフィードを選択します。
[フィードする接続] を選択しNuGet セクションから dotnet を選択します。
Project のセットアップの指示に従って、nuget.config ファイルを設定します。 ファイルの構造は、次のいずれかのようになります。
プロジェクト スコープフィード:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>組織スコープのフィード:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Azure DevOps コレクションにサインインし、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。
フィードに接続を選択し、左側のナビゲーション ウィンドウから dotnet を選択します。
[プロジェクトのセットアップ] セクションの手順に従って、nuget.config ファイルを設定します。
パッケージを発行する
プロジェクト ディレクトリから次のコマンドを実行して、パッケージを Azure Artifacts フィードに発行します。
--api-key パラメーターは必須ですが、Azure Artifacts に発行するときに任意の文字列値を使用できます。
dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>