リリース ビューを確認する

完了

パイプラインからパッケージをビルドする場合、パッケージを使用してテストする前に バージョン が必要です。

テスト後にのみ、パッケージの 品質 が認識されます。

パッケージのバージョンは変更できないため、事前に特定のバージョンを選択するのは困難になります。

品質レベルとビュー

Azure Artifacts は、 フィード内のパッケージの 品質レベル と、 プレリリース バージョンと リリース バージョンの違いを認識します。

パッケージとそのバージョンの一覧に対してさまざまな ビュー が提供され、 品質レベルに基づいてこれらを分離します。

課題:

  • 最初のバージョン: テストする前に、パッケージにバージョンが必要です。
  • 品質不明: 品質はテスト後に決定されます。
  • 不変: 発行後にバージョンを変更することはできません。
  • 解決: ビューを使用して、バージョンを変更せずに品質を示します。

品質の指標としてのビュー

これは、特定のバージョンの意図を予測するためにパッケージの セマンティック バージョン管理 を使用することに適しています。

それでも、 Azure Artifacts フィード からの追加のメタデータは 記述子と呼ばれます。

ビューには次の情報が表示されます。

  • 品質インジケーター: 成熟度レベルでパッケージを分離します。
  • コンシューマーの選択: コンシューマーが品質レベルを選択できるようにします。
  • 昇格ワークフロー: 品質ゲートを介してパッケージを移動します。
  • 不変性の維持: パッケージのバージョンは変更されません。

既定のフィード ビュー

Azure Artifacts のフィードには、既定で 3 つの異なるビューがあります。 これらのビューは、新しいフィードが作成されるときに追加されます。

3 つの既定のビュー

1. @Local ビュー

@Local ビューには、すべてのリリース パッケージとプレリリース パッケージと、アップストリーム ソースからダウンロードされたパッケージが含まれます。

特性:

  • 完全なフィード: 昇格の状態に関係なく、すべてのパッケージを表示します。
  • アップストリーム パッケージ: アップストリーム ソースからキャッシュされたパッケージが含まれます。
  • 既定のビュー: ビューが指定されていない場合、既定で使用されます。
  • 開発の使用方法: 通常、開発中に使用されます。

ユース ケース:

  • 開発ビルド: 最新のパッケージをテストする開発者。
  • CI ビルド: すべてのパッケージ バージョンを必要とするパイプラインをビルドします。
  • パッケージの検出: 使用可能なすべてのパッケージを検索します。

2. @Prerelease ビュー

@Prerelease ビューには、バージョン番号にラベルが付くすべてのパッケージが含まれています。

特性:

  • ラベル付きバージョンのみ: プレリリース ラベルを持つバージョンのみが表示されます (例: 1.0.0-beta)。
  • 品質ゲート: ここで昇格したパッケージは、初期品質チェックに合格しました。
  • テスト フェーズ: より広範なテストの準備ができているパッケージを示します。
  • 実稼働準備ができていない: 運用環境での使用はお勧めしません。

ユース ケース:

  • QA テスト: プレリリース バージョンをテストする品質保証チーム。
  • ベータテスト: 新機能をテストする早期導入者。
  • 統合テスト: 他のシステムとの統合のテスト。

3. @Release ビュー

@Release ビューには、公式リリースと見なされるすべてのパッケージが含まれています。

特性:

  • 運用環境対応: 運用環境で承認されたパッケージのみが含まれます。
  • ラベルなし: 通常、プレリリース ラベルのないバージョンのみが含まれます。
  • 安定したバージョン: 最高品質のレベル。
  • サポート: このビューのパッケージは公式にサポートされています。

ユース ケース:

  • 運用環境のデプロイ: 運用環境にデプロイされたアプリケーション。
  • 安定したビルド: お客様向けのリリース ビルド。
  • 公式リリース: エンド ユーザーに配布されるパッケージ。

ビューの使用

ビューを使用すると、リリースされたバージョンとリリースされていないバージョンのパッケージの間でパッケージ フィード フィルターのコンシューマーを支援できます。

基本的に、コンシューマーは、リリースされたパッケージから選択するか、特定の品質レベルのプレリリースにオプトインすることを 意識的に決定 できます。

既定のビュー URI 形式

既定では、 @Local ビュー は使用可能なパッケージの一覧を提供するために使用されます。 この URI の形式は次のとおりです。

https://pkgs.dev.azure.com/{organization}/_packaging/{feedname}/nuget/v3/index.json

コンポーネント:

  • {organization}: Azure DevOps 組織名。
  • {feedname}: フィードの名前。
  • ビューが指定されていない: 既定値はビュー @Local 。

Example:

https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json

ビュー固有の URI 形式

URI エンドポイントを介してパッケージ フィードを消費する場合、要求されたビューをアドレスに含めることができます。 特定のビューの場合、URI にはビューの名前が含まれ、次のように変更されます。

https://pkgs.dev.azure.com/{organization}/_packaging/{feedname}@{Viewname}/nuget/v3/index.json

ビュー固有の例:

# @Local view (explicit)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Local/nuget/v3/index.json

# @Prerelease view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Prerelease/nuget/v3/index.json

# @Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json

ビューの自動フィルター処理

ツールによって、指定したビューのパッケージが自動的に表示され、使用されます。

パッケージ マネージャーの動作:

  • ビューのフィルター処理: 指定したビュー内のパッケージのみが表示されます。
  • 自動解決: 依存関係の解決では、表示されているパッケージのみが使用されます。
  • 透明: 追加の構成は必要ありません。

パッケージの種類全体のビュー

ビューは、すべてのパッケージの種類で一貫して機能します。

NuGet

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json

npm

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/npm/registry/

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/npm/registry/

Maven

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/maven/v1

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/maven/v1

Python

# Default (Local)
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/pypi/simple/

# Release view
https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/pypi/simple/

プレリリース ラベルとビュー

ツール では、この Visual Studio 2017 NuGet ダイアログに示すように、プレリリース バージョンを選択するオプションが提供される場合があります。

重要な区別:

フィードの ビューは@Prerelease。 代わりに、セマンティック バージョン管理の プレリリース ラベル の存在に依存して、検索結果にパッケージを含めるか除外します。

2 つの異なる概念:

プレリリース ラベル (SemVer)

  • バージョンベース: バージョン番号の一部 (例: 1.0.0-beta)。
  • セマンティック バージョン管理: SemVer の規則に従います。
  • パッケージ マネージャー機能: パッケージ マネージャーは、ラベルに基づいてフィルター処理できます。
  • 万国: すべてのパッケージ システムで動作します。

Example:

1.0.0-alpha.1  ← Prerelease label
1.0.0          ← Stable version

@Prerelease ビュー (Azure Artifacts)

  • フィード メタデータ: Azure Artifacts 固有の品質インジケーター。
  • プロモーションベース: このビューにプロモートされたパッケージ。
  • 品質ゲート: 特定の品質レベルを示します。
  • Azure 固有: Azure Artifacts フィードにのみ適用されます。

共同作業の方法:

  • 補完: どちらもパッケージの品質を管理するのに役立ちます。
  • 無所属: パッケージにはラベルを付けることができますが、 @Prerelease ビューには含まれません。
  • ワークフロー: 通常、ラベル付きバージョンは @Prerelease ビューに昇格されます。

パッケージ ユーザーの構成

開発構成

開発中はアクティブなビューを使用します。

# NuGet - Add source with Local view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/nuget/v3/index.json" --name MyFeed-Local

# npm - Configure in .npmrc
registry=https://pkgs.dev.azure.com/contoso/_packaging/MyFeed/npm/registry/

QA/テスト構成

テスト @Prerelease ビューを使用します。

# NuGet - Add source with Prerelease view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Prerelease/nuget/v3/index.json" --name MyFeed-Prerelease

運用構成

運用用@Releaseビューを使用してください。

# NuGet - Add source with Release view
dotnet nuget add source "https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/nuget/v3/index.json" --name MyFeed-Release

# npm - Configure in .npmrc for production
registry=https://pkgs.dev.azure.com/contoso/_packaging/MyFeed@Release/npm/registry/

カスタム ビュー

3 つの既定のビュー以外にも、きめ細かな品質レベルの カスタム ビュー を作成できます。

カスタム ビューの例:

  • @Alpha: 非常に初期のバージョン。
  • @Beta: 機能の完全なテスト バージョン。
  • @RC: リリース候補のバージョン。
  • @Stable: 長期的な安定したバージョン。

カスタム ビューの作成:

  1. フィード設定に移動します。 Azure Artifacts のフィードに移動します。
  2. [ビュー] タブ: [ビュー] セクションを選択します。
  3. ビューの追加: [ビューの追加] を選択し、名前を指定します。
  4. 構成: 可視性と昇格ルールを設定します。

特典を表示する

品質管理:

  • 段階的なリリース: 品質ゲートを介してパッケージを移動します。
  • リスク軽減策: 運用環境でテストされていないパッケージを防止します。
  • 明確なコミュニケーション: ビューは品質のレベルを示します。

コンシューマーの柔軟性:

  • 選択: コンシューマーはリスク許容度を選択します。
  • オプトイン: プレリリース バージョンを意識的にオプトインします。
  • 安全: 実稼働システムでは、リリースされたパッケージのみが表示されます。

ワークフローの統合:

  • CI/CD: プロモーションをパイプラインに統合します。
  • オートメーション: テスト結果に基づいて昇格を自動化します。
  • 統治: ビューを使用して品質ゲートを適用する。

関連項目: