次の方法で共有


チュートリアル: アップストリーム ソースからパッケージを復元する方法

Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020

Azure Artifacts でアップストリーム ソースを使用すると、1 つのフィードからすべてのアプリケーションの依存関係を管理できます。 これにより、NuGet.orgnpmjs.com などのパブリック レジストリからのパッケージの使用が簡略化され、障害や侵害されたパッケージに対する保護も提供されます。 また、独自のパッケージを同じフィードに発行し、すべての依存関係を 1 つの場所で管理することもできます。

このチュートリアルでは、フィードでアップストリーム ソースを有効にし、 NuGet.orgnpmjs.com などのパブリック レジストリからパッケージを使用する手順について説明します。

[前提条件]

製品 必要条件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- 組織 ファイアウォールまたはプロキシ サーバーを使用している場合に Azure Artifacts のドメイン URL と IP アドレスを許可します。

フィードを作成し、アップストリーム ソースを有効にする

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. Artifacts を選択し、[フィードの作成] を選択して新しいフィードを作成します。

  3. フィードの 名前 を指定し、 その可視性スコープを選択し、[ 一般的なパブリック ソースのパッケージを含める ] チェックボックスをオンにしてアップストリーム ソースを有効にします。

  4. 終わったら [作成] を選択します。

    新しいフィードを作成し、Azure Artifacts でアップストリーム ソースを有効にする方法を示すスクリーンショット。

Von Bedeutung

別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動して>指定したビューの右側にある省略記号ボタンを選択>編集

フィードを使用して認証する

フィードを作成したら、使用しているテクノロジに基づいて適切なタブを選択し、指示に従って構成ファイルを設定し、フィードに接続します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。

  3. 左側のナビゲーション ウィンドウから npm を選択し、 Project セットアップ セクションの指示に従って構成ファイルを設定します。 まだ .npmrc ファイルがない場合は、プロジェクトのルート (package.jsonと同じフォルダー) に新しいファイルを作成します。 新しい .npmrc ファイルを開き、指定されたスニペットを貼り付けます。

    Azure Artifacts で npm プロジェクトを設定する方法を示すスクリーンショット。

パッケージの復元

アップストリーム ソースを有効にし、フィードで認証したので、パッケージの種類に基づいて適切なタブを選択し、手順に従ってパブリック レジストリから Azure Artifacts フィードにパッケージを復元します。

  1. node_modules フォルダーをプロジェクトから削除します。

  2. コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。

    npm install --force
    

--force フラグを使用すると、ローカル コピーが存在する場合でも、パッケージがリモート ソースから確実にプルされます。

  1. node_modules フォルダーをプロジェクトから削除します。

  2. コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。

    npm install --force
    

--force フラグを使用すると、ローカル コピーが存在する場合でも、パッケージがリモート ソースから確実にプルされます。