リリース ビューを確認する
パイプラインからパッケージをビルドする場合、パッケージを使用してテストする前に バージョン が必要です。
テスト後にのみ、パッケージの 品質 が認識されます。
パッケージのバージョンは変更できないため、事前に特定のバージョンを選択するのは困難になります。
品質レベルとビュー
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: 長期的な安定したバージョン。
カスタム ビューの作成:
- フィード設定に移動します。 Azure Artifacts のフィードに移動します。
- [ビュー] タブ: [ビュー] セクションを選択します。
- ビューの追加: [ビューの追加] を選択し、名前を指定します。
- 構成: 可視性と昇格ルールを設定します。
特典を表示する
品質管理:
- 段階的なリリース: 品質ゲートを介してパッケージを移動します。
- リスク軽減策: 運用環境でテストされていないパッケージを防止します。
- 明確なコミュニケーション: ビューは品質のレベルを示します。
コンシューマーの柔軟性:
- 選択: コンシューマーはリスク許容度を選択します。
- オプトイン: プレリリース バージョンを意識的にオプトインします。
- 安全: 実稼働システムでは、リリースされたパッケージのみが表示されます。
ワークフローの統合:
- CI/CD: プロモーションをパイプラインに統合します。
- オートメーション: テスト結果に基づいて昇格を自動化します。
- 統治: ビューを使用して品質ゲートを適用する。
関連項目: