Azure Artifacts を使用して npm パッケージを発行してダウンロードする

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

Azure Artifactsを使用すると、開発者はフィードまたはパブリック レジストリから npm パッケージを発行してダウンロードできます。

この記事では、フィードの作成、プロジェクトの構成、npm パッケージの発行とダウンロードについて説明します。

前提条件

フィードの作成

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

  2. 成果物 を選択し、次に フィードの作成 を選択します。

  3. フィードの 名前 を入力します。

  4. フィードでパッケージを表示できるユーザーを制御するには、[ 表示] 設定を選択します。

  5. フィードで nuget.org やnpmjs.com などのソースのアップストリーム パッケージを使用する場合は、[一般的なパブリック ソースのパッケージを含める] を選択します。

  6. [ スコープ] で、フィードのスコープを現在のプロジェクトと組織全体のどちらにするかを選択します。

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

    Azure DevOps Services で新しいフィードを作成するための選択を示すスクリーンショット。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. 成果物 を選択し、次に フィードの作成 を選択します。

  3. フィードの 名前 を入力します。

  4. フィードでパッケージを表示できるユーザーを制御するには、[ 表示] 設定を選択します。

  5. フィードで nuget.org やnpmjs.com などのソースのアップストリーム パッケージを使用する場合は、[一般的なパブリック ソースのパッケージを含める] を選択します。

  6. [ スコープ] で、フィードのスコープを現在のプロジェクトと組織全体のどちらにするかを選択します。

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

    Azure DevOps 2022 で新しいフィードを作成するための選択を示すスクリーンショット。

注

フィードを作成すると、projectName Build Service (orgName) などのプロジェクトの Build Service アカウントに、既定でフィードおよびアップストリーム 閲覧者 (コラボレーター) ロールが割り当てられます。

npm 認証を設定する

フィードに接続する前に、マシン上の npm クライアントの認証を設定します。 手順は、オペレーティング システムによって異なります。

Windows

vsts-npm-authをインストールします。npm がAzure Artifacts フィードに接続するために使用する資格情報を生成して更新します。

npm install -g vsts-npm-auth --registry https://registry.npmjs.com

macOS と Linux

vsts-npm-auth は macOS または Linux ではサポートされていません。 代わりに、Packaging>Read > 書き込みスコープを使用して個人用アクセス トークン (PAT) を作成します。 この PAT は、次のセクションでユーザー レベルの .npmrc ファイルを構成するときに使用します。


フィードに接続する

Azure Artifacts では、2 つの個別の構成ファイルを使用することをお勧めします。 1 つ目は、$HOME ディレクトリ (Linux/macOS) または $env.HOME (Windows) にローカルに保持して、資格情報を安全に保存する必要があります。 これにより、npm クライアントは認証のために資格情報にアクセスできます。

このセットアップを使用すると、ソース管理で資格情報を公開することなく、チームとプロジェクト構成を共有できます。 詳細については、「Azure Artifacts フィードへの接続 - npm」を参照してください。

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

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

  3. 左側のナビゲーション ウィンドウから npm を選択します。

  4. [Projectセットアップ] で、オペレーティング システムの [Windows] または [その他] を選択し、指定された手順に従って、ユーザー レベルとproject レベルの .npmrc ファイルを更新します。

    npm プロジェクトを設定し、Azure DevOps Services のフィードに接続する方法を示すスクリーンショット。

注

vsts-npm-authは、Azure DevOps Server ではサポートされていません。

  1. Azure DevOps コレクションにサインインし、プロジェクトに移動します。

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

  3. 左側のナビゲーション ウィンドウから npm を選択します。

  4. [Projectセットアップ] で、オペレーティング システムの [Windows] または [その他] を選択し、指定された手順に従って、ユーザー レベルとproject レベルの .npmrc ファイルを更新します。

    Azure DevOps Server 2022 で npm プロジェクトを設定し、Azure Artifacts フィードに接続する方法を示すスクリーンショット。

重要

npm では、.npmrc ファイル内の 1 つのregistry設定のみがサポートされます。 複数のソースからのパッケージが必要な場合は、複数のregistry エントリを追加する代わりに、アップストリームソースまたはスコープを使用します。

フィードにパッケージを発行する

注

フィードにパッケージを発行するには、 フィードパブリッシャー (共同作成者) 以上である必要があります。 詳細については、 権限の管理 を参照してください。

パッケージを発行する前に、フィードで認証を行ってください。 まだ行っていない場合は、「 フィードに接続する 」セクションの手順に従って、次のセクションの手順に進みます。

  1. プロジェクト ディレクトリで、次のコマンドを実行して、 package.json ファイルで定義されているパッケージをフィードに発行します。

    npm publish
    

重要

発行時に publishConfig プロパティを使用してレジストリ構成をオーバーライドすることはサポートされていません。

フィードからパッケージを復元する

パッケージを復元する前に、フィードで認証し、プロジェクトの .npmrc ファイルを更新してください。 まだ行っていない場合は、「 フィードに接続する」の手順を完了してから、続行します。

  1. プロジェクト ディレクトリで、次のコマンドを実行して、 package.json ファイルに一覧表示されているすべてのパッケージを復元します。

    npm install
    
  2. フィードから特定のパッケージをインストールし、依存関係として package.json ファイルに追加するには、次のコマンドを実行します。

    npm install --save <PACKAGE_NAME>