チュートリアル: アップストリーム ソースを使用する方法
- [アーティクル]
-
-
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
フィードでアップストリーム ソースを使用すると、1 つのフィードからアプリケーションの依存関係を管理できます。 アップストリーム ソースを使用すると、障害や侵害されたパッケージから保護しながら、パブリック レジストリからパッケージを簡単に使用できます。 また、独自のパッケージを同じフィードに発行し、すべての依存関係を 1 つの場所で管理することもできます。
このチュートリアルでは、フィードのアップストリーム ソースを有効にし、NuGet.org や npmjs.com などのパブリック レジストリからパッケージを使用する方法について説明します。
このチュートリアルでは、次のことについて説明します。
- 新しいフィードを作成し、アップストリーム ソースを有効にします。
- 構成ファイルを設定します。
- 初期パッケージの復元を実行してフィードを設定します。
- フィードを確認して、パブリック レジストリから使用したパッケージの保存されたコピーを表示します。
フィードを作成し、アップストリーム ソースを有効にする
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
Artifacts を選択し、[フィードの作成] を選択して新しいフィードを作成します。
フィードの名前を指定し、その可視性を選択します。 [一般的なパブリック ソースからのパッケージを含むアップストリーム ソースを有効にする] チェック ボックスをオンにし、完了したら Create を選択します。
Note
別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動して>指定したビューの右側にある省略記号ボタンを選択>編集。
構成ファイルを設定する
フィードを作成したので、フィードを指す構成ファイルを更新する必要があります。 これを行うには、次の操作を行う必要があります。
- ソースの URL を取得する
- 構成ファイルを更新する
[ Artifacts を選択し、フィードする接続 選択。
ページの左側にある [ npm タブを選択します。
Project setup セクションの手順に従って、構成ファイルを設定します。
.npmrc ファイルがまだない場合は、プロジェクトのルート (package.jsonと同じフォルダー内) に新しいファイルを作成します。 新しい .npmrc ファイルを開き、前の手順でコピーしたスニペットを貼り付けます。
[ Artifacts]\(成果物\) を選択し、フィードを選択します。
[フィードする接続] 選択しNuGet.exeを選択します。
[プロジェクトのセットアップ] セクションで XML スニペットをコピーします。
プロジェクトのルートに nuget.config という名前の新しいファイルを作成します。
XML スニペットを構成ファイルに貼り付けます。
Artifacts を選択し、ドロップダウン リストからフィードを選択します。
[フィードする接続] 選択し Python セクションで pip を選択します。
まだ作成していない場合は仮想環境を作成します。
pip.ini (Windows) または pip.conf (Mac/Linux) ファイルを virtualenv に追加し、次のスニペットを貼り付けます。
[global]
index-url=https://pkgs.dev.azure.com/ORGANIZATION-NAME/_packaging/FEED-NAME/pypi/simple/
Artifacts を選択し、ドロップダウン リストからフィードを選択します。
[フィードする接続] 選択し、[ Maven] を選択します。
pom.xmlの <repositories>
セクションと <distributionManagement>
セクションに次のスニペットを追加します。
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
settings.xml ファイルに <server>
を追加します。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
個人用アクセス トークンを作成しPackaging>Read & write スコープを使用して、個人用アクセス トークンをsettings.xml ファイルの<password>
タグに貼り付けます。
Artifacts を選択し、ドロップダウン リストからフィードを選択します。
[フィードする接続を選択し、Gradle を選択します。
build.gradle ファイルの repositories および publishing セクションに次のスニペットを追加します。
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
settings.xml ファイルに <server>
を追加します。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Packaging>Read および write スコープを使用して個人アクセス トークンを作成します。 個人用アクセス トークンを、settings.xml ファイルの <password>
タグに貼り付けます。
パッケージの復元
アップストリーム ソースを有効にし、構成ファイルを設定したので、パッケージ復元コマンドを実行してアップストリーム ソースにクエリを実行し、アップストリーム パッケージを取得できます。
プロジェクトから node_modules フォルダーを削除し、管理者特権のコマンド プロンプト ウィンドウで次のコマンドを実行します。
npm install --force
Note
--force
引数は、ローカル コピーが存在する場合でも、プル リモートを強制します。
フィードには、アップストリームからインストールしたパッケージの保存されたコピーが含まれています。
ローカル キャッシュをクリアします。
nuget locals -clear all
NuGet パッケージを復元します。
nuget.exe restore
フィードには、アップストリームからインストールしたパッケージの保存されたコピーが含まれています。
プロジェクト ディレクトリで次のコマンドを実行します。
pip install
フィードには、アップストリームからインストールしたパッケージの保存されたコピーが含まれています。
プロジェクト ディレクトリで次のコマンドを実行します。
mvn install
フィードには、アップストリームからインストールしたパッケージの保存されたコピーが含まれています。
プロジェクト ディレクトリで次のコマンドを実行します。
gradle build
フィードには、アップストリームからインストールしたパッケージの保存されたコピーが含まれています。
関連記事