アップストリームソース

[更新:2025年12月11日]

upstream_source

アップストリームとは、各プロジェクトが利用するパッケージの“元となる供給源”を指し、外部の信頼できる公開リポジトリなどから最新パッケージを取得する役割を持ちます。これを社内のパッケージ管理基盤と連携することで、安定した依存関係を一元的に提供できます。結果として、脆弱性リスクの低減、バージョン管理の統制、開発環境の標準化が進み、プロジェクト間でのばらつきを防ぎながら効率的で高品質な開発を継続的に実現できます。

各機能のサービス対応

機能

対応サービス

パッケージホスティング

Azure Artifacts

システム構成要素

  • NuGet.org

  • Addon

    • Azure DevOps(Azure Artifacts)

構築手順

Azure DevOps の準備

Azure DevOps プロジェクトが作成されていることを前提とします。

Azure Artifacts フィードの作成

新しいフィードの作成

  1. Azure DevOpsプロジェクトに移動し、左側のメニューから「Artifacts」を選択

    Azure DevOps Artifacts
  2. 「Create Feed」を選択してフィードを新規作成

    Create Feed
  3. フィード作成を設定して、「Create」を選択

    • Name: フィード名を入力(例:NugetFeed

    • Visibility: 表示範囲を選択

      • Members of your Microsoft Entra tenant: Microsoft Entra テナント内のメンバーがアクセス可能

      • Members of <your project>: 組織のすべてのメンバーがアクセス可能

      • Specific people: 特定のユーザーのみアクセス可能

    • Upstream sources: チェックを入れて「Include packages from common public sources」を有効化

    • Scope: 適切なスコープを選択

      • Project: <your project>: プロジェクトのみ

      • Organization: 組織全体からアクセス可能

    Feed Settings
  4. Artifacts画面のプルダウンに作成したフィードが表示されていることを確認

    Feed Created

パッケージの検索と Feed への保存

  1. Azure DevOps の Artifacts フィード画面で「Search Upstream sources」を選択

    Browse Packages1
  2. 検索ボックスで目的の NuGet パッケージを検索

    例:ModelContextProtocol を検索

    Search Package2
  3. 検索結果からパッケージを選択し、「Save to Feed」を選択

    Search Package3
  4. 表示されたポップアップを確認し、「Save」を選択

    Search Package4
  5. Feed 一覧に戻り、Version の横に「In this feed」と表示されていることを確認

    Search Package5
  6. Artifacts 画面に戻り、保存した Feed が一覧に追加されていることを確認

    Search Package6

フィードに接続する

  1. Azure Artifacts Credential Providerをダウンロードしてインストール

  2. Artifacts フィード画面で「Connect to feed」を選択

    Connect to Feed1
  3. フィードへの接続を設定する(例: NuGet.exe

    Connect to Feed2
  4. Project setupに表示されたXMLスニペットをコピーし、nuget.configに追加

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <packageSources>
       <clear />
       <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
    </packageSources>
    </configuration>