Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Artifacts でアップストリーム ソースを使用すると、1 つのフィードからすべてのアプリケーションの依存関係を管理できます。
これにより、NuGet.org や npmjs.com などのパブリック レジストリからのパッケージの使用が簡略化され、障害や侵害されたパッケージに対する保護も提供されます。 また、独自のパッケージを同じフィードに発行し、すべての依存関係を 1 つの場所で管理することもできます。
このチュートリアルでは、フィードでアップストリーム ソースを有効にし、 NuGet.org や npmjs.com などのパブリック レジストリからパッケージを使用する手順について説明します。
[前提条件]
フィードを作成し、アップストリーム ソースを有効にする
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
Artifacts を選択し、[フィードの作成] を選択して新しいフィードを作成します。
フィードの 名前 を指定し、 その可視性 と スコープを選択し、[ 一般的なパブリック ソースのパッケージを含める ] チェックボックスをオンにしてアップストリーム ソースを有効にします。
終わったら [作成] を選択します。
Von Bedeutung
別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動して>指定したビューの右側にある省略記号ボタンを選択>編集。
フィードを使用して認証する
フィードを作成したら、使用しているテクノロジに基づいて適切なタブを選択し、指示に従って構成ファイルを設定し、フィードに接続します。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側のナビゲーション ウィンドウから npm を選択し、 Project セットアップ セクションの指示に従って構成ファイルを設定します。
まだ .npmrc ファイルがない場合は、プロジェクトのルート (package.jsonと同じフォルダー) に新しいファイルを作成します。 新しい .npmrc ファイルを開き、指定されたスニペットを貼り付けます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側 の ナビゲーション ウィンドウからNuGet.exeを選択し、[ プロジェクトのセットアップ] セクションに示されている XML スニペットをコピーします。
プロジェクトのルートに新しい nuget.config ファイルを作成し、前の手順でコピーした XML スニペットに貼り付けます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側のナビゲーション ウィンドウから pip を選択します。
まだ作成していない場合は仮想環境を作成します。
pip.ini (Windows) または pip.conf (Mac/Linux) ファイルを virtualenv に追加し、「プロジェクトのセットアップ」セクションに記載されているスニペットに貼り付けます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側のナビゲーション ウィンドウから 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>
指定した <server>
スニペットを settings.xml ファイルに貼り付けます。 ファイルは次のようになります。
<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 を使用して個人用アクセス トークンを作成>スコープを読み書きし、個人用アクセス トークンを settings.xml ファイルの<password>
タグに貼り付けます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側のナビゲーション ウィンドウから Gradle を選択します。
Project セットアップ セクションで提供されているスニペットを、build.gradle ファイルのリポジトリと発行セクションに追加します。 ファイルは次のようになります。
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
指定した <server>
スニペットを settings.xml ファイルに貼り付けます。 ファイルは次のようになります。
<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> スコープを使用して個人アクセス トークンを作成します。 個人用アクセス トークンを、settings.xmlファイルの <password>
タグに貼り付けます。
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。
左側のナビゲーション ウィンドウから [Cargo ] を選択します。
ソース リポジトリの cargo/config.toml ファイルに、Project セットアップ セクションで提供されているスニペットを追加します。
config.toml ファイルは次のようになります。
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
project セットアップ セクションで提供されている 2 番目のスニペットを cargo/config.toml ファイルに追加して、crates.io ソースをフィードに置き換えます。 ファイルは次のようになります。
[source.crates-io]
replace-with = "FEED_NAME"
資格情報プロバイダーを構成する
レジストリにログインする
パッケージの復元
アップストリーム ソースを有効にし、フィードで認証したので、パッケージの種類に基づいて適切なタブを選択し、手順に従ってパブリック レジストリから Azure Artifacts フィードにパッケージを復元します。
node_modules フォルダーをプロジェクトから削除します。
コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。
npm install --force
注
--force
フラグを使用すると、ローカル コピーが存在する場合でも、パッケージがリモート ソースから確実にプルされます。
ローカル キャッシュをクリアします。
nuget locals -clear all
コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。
nuget.exe restore
node_modules フォルダーをプロジェクトから削除します。
コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。
npm install --force
注
--force
フラグを使用すると、ローカル コピーが存在する場合でも、パッケージがリモート ソースから確実にプルされます。
ローカル キャッシュをクリアします。
nuget locals -clear all
コマンド プロンプト ウィンドウを開き、次のコマンドを実行してパッケージを復元します。 完了すると、フィードには、アップストリームからインストールされたパッケージの保存されたコピーが必要です。
nuget.exe restore
関連コンテンツ