Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Artifacts を使用すると、開発者は 1 つのフィードから依存関係を管理できます。 フィードは、さまざまな種類のパッケージをホストするための組織スペースとして機能し、組織内のチーム メンバーかパブリック ユーザーかに関係なく、アクセスできるユーザーを制御できます。
Azure Artifacts で新しいフィードを作成する場合は、シナリオに応じて、プロジェクトまたは組織のいずれかにスコープを設定できます。 ただし、Azure Artifacts では、新しいフィードをプロジェクトにスコープ設定することをお勧めします。 この記事では、2 種類のフィードの主な違いについて説明します。
フィードの作成
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードにNameを指定し、その表示を選択してパッケージを表示できるユーザーを指定し、nuget.orgなどのパブリック ソースのパッケージを含める場合は一般的なパブリック ソースのパッケージを含める場合はチェック ボックスをオンにします。
Scope で Project を選択してプロジェクト スコープ フィードを作成するか、組織の範囲のフィードが必要な場合は Organization を選択します。
終わったら [作成] を選択します。
注
組織スコープのフィードは、プロジェクト スコープのフィードに変換できません。
プロジェクトスコープのフィードと組織スコープのフィード
プロジェクトスコープのフィードは、組織ではなくプロジェクトにスコープが設定されています。 2 種類のフィードの主な違いを次に示します。
| カテゴリ | プロジェクト スコープ フィード | 組織範囲フィード |
|---|---|---|
| 表示 | プロジェクトの可視性を継承します。 | 既定では常にプライベートです。 |
| リンク | URL にはプロジェクト名が含まれています。 例: https://pkgs.dev.azure.com/<ORG_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json |
URL にプロジェクトが含まれていません。 例: https://pkgs.dev.azure.com/<ORG_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json |
| ユーザー インターフェイス | フィードをホストするプロジェクトに移動した後にのみ表示されます。 | フィードのドロップダウン メニューから常に使用できます。 |
| 接続 | 同じ組織内の別のプロジェクトで実行されているパイプラインからフィードにアクセスするには、 プロジェクト コレクション ビルド サービス と、パイプラインを実行するプロジェクトのプロジェクトの ビルド サービス の両方に適切なロールが付与されている必要があります。 | 適切なロールを付与する必要があるのは、 プロジェクト コレクション ビルド サービス だけです。 |
注
別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動し>指定したビューの右側にある省略記号ボタンを選択>、Edit を選択します。
ヒント
プロジェクト スコープ フィードにセキュリティレイヤーを追加し、フィードの可視性を保護する場合は、Organization ポリシー設定から Allow パブリック プロジェクト ポリシーを無効にすることができます。
Q&A(質疑応答)
Q: 組織内のすべてのユーザーとパッケージを共有するにはどうすればよいですか?
A: フィード内の特定のパッケージに組織内のすべてのユーザーがアクセスできるようにするには、共有するパッケージを含む ビュー を作成または選択し、その可視性を組織内の People に設定します。
重要
ユーザーが特定のビューにアクセスできる場合、フィード レベルのアクセス許可がなくても、そのビューからパッケージを表示およびダウンロードできます。 パッケージへのアクセスを完全に制限する場合は、フィードとそのビューの両方に対するアクセス許可が制限されていることを確認します。 詳細については、「 Feeds とビューのアクセス許可 を参照してください。
Q: パイプラインから別のプロジェクトのプロジェクト スコープ フィードにアクセスするにはどうすればよいですか?
パイプラインが別のプロジェクトのプロジェクト スコープ フィードにアクセスできるようにするには、プロジェクト レベル (フィードがホストされている場所) とフィード レベルの両方でアクセス権を付与する必要があります。
プロジェクトのアクセス許可: フィードをホストしているプロジェクトに移動し、 プロジェクト設定>Permissions を選択し、パイプラインの プロジェクト ビルド サービス を 閲覧者 グループに追加します。
フィードのアクセス許可: アクセスするフィードに移動し、[>] を選択し、次のいずれかのロールを持つプロジェクト ビルド サービスを追加します。
- フィードとアップストリーム リーダー (コラボレーター): フィードからパッケージを表示またはダウンロードする場合、またはアップストリーム ソースからパッケージを保存する場合。
- フィード パブリッシャー (共同作成者):フィードからのパッケージの表示またはダウンロードに加えて、パッケージを発行、昇格、または非推奨にする場合、またはアップストリーム ソースからパッケージを保存する場合。
Project ビルド サービス ID は、次のように書式設定されます: [Project name] Build Service ([Organization name])。 例: FabrikamFiber ビルド サービス (codesharing-demo)。
Q: 同じ組織内の別のプロジェクトからパイプライン成果物をダウンロードするにはどうすればよいですか?
A: パイプラインが別のプロジェクトから成果物をダウンロードできない場合は、ダウンストリーム プロジェクトと成果物を生成するパイプラインの両方に対して次のアクセス許可が設定されていることを確認します。
成果物 (アップストリーム プロジェクト) を生成するパイプラインで >管理セキュリティの詳細オプションの省略記号を選択し> ダウンストリーム プロジェクトのビルド サービスを検索し、 Update ビルド情報、 View ビルド、および View ビルドのアクセス許可を許可します。
ダウンストリーム プロジェクトで: Project Settings>Permissions>Users に移動し> アップストリーム プロジェクトの名前を検索し、 Expand search を選択> アップストリーム プロジェクトのビルド サービスを選択し、 プロジェクト レベルの情報を表示を有効にします。
Q: 新しいフィードでアップストリーム ソースを有効にし、その可視性を "Microsoft Entra テナントのメンバー" に設定した場合、フィードを含む Azure DevOps 組織に Microsoft Entra ユーザーを追加する必要はありますか。
A: はい。フィード内のパッケージにアクセスするには、ユーザーを Azure DevOps 組織に追加する必要があります。 Organization Settings>Permissions>Project Collection Valid Usersとして追加できます。