パブリック フィードでアップストリーム ソースを使用する
Azure Artifacts を使用すると、開発者は 1 つのフィードから依存関係を管理できます。 アップストリーム ソースを使用すると、フィードや NuGet.org、npmjs.com などのパブリック レジストリからパッケージを使用できます。 この記事では、次の方法について学習します。
- パブリック フィードを作成する
- アップストリーム ソースを有効にする
- 新しいアップストリーム ソースを追加する
前提条件
Azure DevOps 組織。 まだ組織を作成していない場合は、組織を作成します。
Azure DevOps プロジェクト。 まだプロジェクトがない場合は、新しいプロジェクト を作成します。
プロジェクトの可視性をパブリックに設定します。
重要
パッケージ ロック ファイルは、再現可能なビルドと、パブリック フィードを使用するときに匿名ユーザーに資格情報の入力を求められるシナリオを最小限に抑えるのに役立ちます。
パブリック フィードを作成する
パブリック フィードは、パブリック プロジェクトのプロジェクト スコープ のフィードです。 パブリック フィードは、ホスティング プロジェクトの可視性設定を継承します。
Azure DevOps 組織にサインインし、パブリック プロジェクトを選択します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードに名前を付け、そのスコープとして Project: PublicProject (Recommended) を選択します。
終わったら [作成] を選択します。
アップストリーム ソースを追加する
Azure DevOps 組織にサインインし、パブリック プロジェクトを選択します。
[ 成果物] を選択し、パブリック フィードを選択します。
歯車アイコンを選択してフィード 設定にアクセスします。
[ アップストリーム ソース] を選択し、[ アップストリームの追加] を選択します。
アップストリームソース タイプを選択します。 この例では、アップストリーム ソースとして NuGet.org を追加します。
ソースを構成し、完了したら [保存] を選択します。
[保存] を選択して、新しいアップストリーム ソースを保存します。
重要
パブリック フィードでは、プライベート成果物フィードへのアップストリームはサポートされていません。 パブリック Azure Artifacts フィードを使用している場合は、パブリック レジストリ (NuGet.org、npmjs) またはその他 のパブリック Azure Artifacts フィードにのみアップストリームできます。
パッケージの復元
管理者特権でのコマンド プロンプトから、次のコマンドを実行します。
Note
アップストリームから新しいパッケージ バージョンを インストールするには、フィードおよびアップストリーム リーダー (コラボレーター) 以上である必要があります。 匿名ユーザーは、フィードに存在するパッケージのみをインストールできます。
Q & A
Q: パッケージを復元しようとしていますが、401 の未承認エラーが発生し続けますか?
フィードの内容は、フィードに対する適切なアクセス許可を持つ認証済みおよび承認された ID によってのみ変更できます。 これには、アップストリーム ソースからのフィードへのパッケージの保存が含まれます。 認証されていない (匿名の) ユーザーは 、既にフィードに保存されている パッケージをダウンロードできますが、アップストリームからフィードに新しいパッケージを保存することはできません。
プロジェクトの保守担当者は、必要なすべてのバージョンのパッケージをパブリック フィードに保存する必要があります。 これを行うには、プロンプトが表示されたときにフィードに資格情報を提供できる ID を使用してプロジェクトを復元し、使用される ID にフィードとアップストリーム リーダー (コラボレーター) 以上のアクセス許可があることを確認します。
プロジェクトのパッケージを復元している匿名ユーザーが資格情報の要求 (401 応答) によって繰り返しブロックされている場合、次の方法で問題が軽減または解消されます。
プロジェクト構成でパッケージのバージョン範囲を使用しないでください。 明示的なパッケージ バージョンにより、パッケージ 化クライアントは必要な正確なバージョンのみを要求できます。
サポートされている場合は、パッケージ 化エコシステムのロック ファイルを利用して、パッケージ 化クライアントが復元/インストール操作中にプロジェクトに必要な特定のバージョンのみを要求するようにします。
Q: Visual Studio を使用してパッケージを復元しようとしていますが、別のソースからパッケージがプルされていることに気付きましたか?
A: Visual Studio で、ローカルの NuGet パッケージ マネージャーではなく、nuget.config ファイルで参照されているソースが使用されていることを確認します。 詳細については、 パッケージ ソース を参照してください。
NuGet CLI を使用して、次のコマンドを実行して、構成ファイル内のソースを強制的に NuGet で使用することもできます。
nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>
関連記事
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示