Azure Artifacts を使用すると、開発者は 1 つのフィードからすべての依存関係を効率的に管理できます。 Azure Artifacts のフィードは、チーム内、組織全体、またはインターネット上のパブリックにパッケージを格納、管理、共有するための組織リポジトリとして機能します。 Azure Artifacts フィードでは、NuGet、npm、Python、Maven、Cargo、ユニバーサル パッケージなど、さまざまな種類のパッケージがサポートされています。
この記事では、最初のパッケージを Azure Artifacts フィードに発行するプロセスについて説明します。 また、GitHub Copilot を使用してこのプロセスを合理化し、Visual Studio Code の GitHub Copilot チャットの機能を調べることもできます。
前提条件
.NET Core SDK のインストール。
Azure Artifacts Credential Provider をインストールします。
(省略可能) GitHub Copilot と Visual Studio Code を設定します。 まだサインアップしていない場合は、30 日間の GitHub Copilot 無料試用版を利用できます。
フィードの作成
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードにわかりやすい Name を指定し、その 非表示 (フィードでパッケージを表示できるユーザー) を設定します。 フィードの Scope を定義し、パブリック ソースのパッケージを含める場合は、 Upstream ソース チェック ボックスをオンにします。
終わったら [作成] を選択します。
Azure DevOps サーバーにサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードにわかりやすい Name を指定し、その 非表示 (フィードでパッケージを表示できるユーザー) を設定します。 フィードの Scope を定義し、パブリック ソースのパッケージを含める場合は、 Upstream ソース チェック ボックスをオンにします。
終わったら [作成] を選択します。
終わったら [作成] を選択します。
コードを準備する
コマンド ラインから基本的なクラス ライブラリ プロジェクトを作成し、パッケージのメタデータを設定し、NuGet パッケージを生成するには、次の手順に従います。
ローカル コンピューターで、新しいフォルダーを作成し、名前を付けます。
コマンド プロンプト ウィンドウを開き、作成したフォルダーに移動します。
次のコマンドを実行して、新しいクラス ライブラリ プロジェクトを作成します。
dotnet new classlib
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 成果物を生成します。 NuGet パッケージが
bin\release
ディレクトリに生成されます。dotnet pack
フィードに接続する
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 を選択します。
Project setup セクションの指示に従って、nuget.config ファイルを構成し、フィードに接続します。
ヒント
GitHub Copilot に、"既存の nuget.config ファイルに新しいパッケージ ソースを追加する方法" を確認できます。 Copilot では、 nuget sources Add
コマンドを使用して、新しいフィード ソース URL を nuget.config ファイルに追加する手順を説明します。
パッケージの公開
プロジェクト ディレクトリから次のコマンドを実行して、パッケージを発行します。 ApiKey は必須ですが、Azure Artifacts フィードに発行するときに任意の文字列値を使用できます。
dotnet nuget push --source <FEED_NAME> --api-key az <PACKAGE_PATH>