次の方法で共有


npm プロジェクトを Azure Artifacts に接続する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts を使用すると、開発者は、npmjs.com フィードやプライベート フィードなどのパブリック レジストリの両方を含む、さまざまなソースからパッケージを管理できます。 Azure Artifacts で認証するには、npm 構成ファイルを構成する必要があります。 このファイルには、npm で使用されるフィード URL と資格情報が含まれており、プロキシの設定、既定のパッケージの場所の定義、プライベート パッケージ フィードの構成など、npm クライアントの動作をカスタマイズするためのオプションが提供されます。 .npmrc ファイルは通常、ユーザーのホーム ディレクトリにありますが、プロジェクト レベルで作成して既定の設定をオーバーライドすることもできます。

前提 条件

フィードに接続する

Azure Artifacts では、2 つの個別の構成ファイルを使用することをお勧めします。 1 つ目は Azure Artifacts での認証専用で、2 つ目は資格情報を格納するためにローカルに保持する必要があります。 この方法では、資格情報をセキュリティで保護しながら、構成ファイルを共有できます。

2 番目のファイルを設定するには、開発用コンピューターのホーム ディレクトリに配置し、すべてのレジストリ資格情報を含めるだけです。 これにより、npm クライアントは認証のために資格情報に簡単にアクセスできます。

次の手順では、最初の構成ファイルを設定する手順について説明します。 開発環境に対応するタブを選択します。

手記

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

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

  2. [Artifacts] を選択し、[フィードに接続する] を選択します。

    Azure DevOps Services のフィードに接続する方法を示すスクリーンショット。

  3. 左側 サイドバーから npm を選択します。 npm で Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認してください。

  4. Project のセットアップ セクションの手順に従ってフィードに接続します。

    npm プロジェクトを設定する方法を示すスクリーンショット。

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

  2. [Artifacts] を選択し、[フィードに接続する] を選択します。

    Azure DevOps Server 2022.1 でフィードに接続する方法を示すスクリーンショット。

  3. 左側 サイドバーから npm を選択し、「プロジェクトのセットアップ」セクションの指示に従って構成ファイルを設定します。

    Azure DevOps Server 2022.1 で npm プロジェクトを設定する方法を示すスクリーンショット。

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

  2. [Artifacts] を選択し、[フィードに接続する] を選択します。

    Azure DevOps Server 2020.1 でフィードに接続する方法を示すスクリーンショット。

  3. 左側 npm を選択し、Project セットアップ の指示に従って構成ファイルを設定します。

    Azure DevOps Server 2020.1 で npm プロジェクトを設定する方法を示すスクリーンショット。

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

  2. [Artifacts] を選択し、[フィードに接続する] を選択します。

    Azure DevOps Server 2019.1 でフィードに接続する方法を示すスクリーンショット。

  3. 新しいウィンドウが表示されます。 左側のナビゲーション ウィンドウで、npm選択します。

  4. 指定された手順に従って、プロジェクトのユーザーの .npmrc ファイルを構成します。

    Azure DevOps Server 2019.1 でプロジェクト レベルおよびユーザー レベルの npmrc ファイルを設定する方法を示すスクリーンショット。

アドバイス

.npmrc ファイルで複数のレジストリを使用することは、スコープ およびアップストリーム ソースでサポートされています。

パイプライン認証

パイプラインで認証するために、Azure Artifacts では、npm 認証タスクを使用することをお勧めします。

gulp や Grunt などのタスク ランナーを使用する場合は、パイプラインの開始時に npm 認証タスク の設定を優先します。 この手順により、資格情報がプロジェクトの .npmrc ファイルに挿入され、パイプラインの実行全体で保持され、以降の手順で構成ファイル内の資格情報にアクセスできるようになります。

  1. プロジェクトに移動し、[パイプライン]選択し、パイプライン定義を選択します。

  2. 編集 を選択してパイプラインを変更します。

  3. + を選択して、新しいタスクをパイプラインに追加します。

    npm 認証タスクをパイプラインに追加する方法を示すスクリーンショット。

  1. プロジェクトに移動し、Pipelines>Buildを選択し、ビルド定義を選択します。

  2. 編集 を選択して、ビルド パイプラインを変更します。

  3. + を選択して、新しいタスクをビルド パイプラインに追加します。

    npm 認証タスクをパイプラインに追加する方法を示すスクリーンショット。

  1. npm Authenticate タスクを見つけ、[追加] を選択します。

    パイプラインに追加された npm 認証タスクを示すスクリーンショット。

  2. .npmrc ファイルを選択し、完了したら [保存 & キュー] を選択します。

    *.npmrc* ファイルを追加する方法を示すスクリーンショット。

手記

パイプラインからフィードにアクセスするには、フィード設定>アクセス許可で、ビルド サービス ロールが Feed and Upstream Reader (Contributor) に設定されていることを確認します。

フィード設定のビルド サービス ロールを示すスクリーンショット。

手記

組織でファイアウォールまたはプロキシ サーバーを使用している場合は、適切なドメイン URL を許可していることを確認します。 詳細については、許可されている IP アドレスとドメイン URL を参照してください。

トラブルシューティング

vsts-npm-auth が認識されない

このエラーは、npm modules フォルダーがパスに追加されていないことを示します。 Node.js セットアップを再実行し、必ず Add to PATH オプションを選択します。 または、コマンド プロンプトで %APPDATA%\npm するように PATH 変数を変更するか、PowerShell で $env:APPDATA\npm することで、npm モジュール フォルダーをパスに追加することもできます。

node.jsを設定する方法を示すスクリーンショット。

認証できない

  • エラー: コード E401 npm ERR!を認証できません: ->-F フラグを指定して vsts-npm-auth コマンドを実行して再認証します。

    vsts-npm-auth -config .npmrc -F
    

vsts-npm-auth をリセットする

vsts-npm-auth 資格情報をリセットするには、次の手順に従います。

  1. vsts-npm-auth をアンインストールします。

    npm uninstall -g vsts-npm-auth
    
  2. npm キャッシュをクリアします。

    npm cache clean --force
    
  3. .npmrc ファイルを削除します。

  4. vsts-npm-auth を再インストールします。

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

発行できない

403 エラーが発生した場合は、名前の競合を示している可能性があります。 Azure Artifacts では、パッケージは不変です。つまり、パッケージをフィードに発行すると、そのバージョン番号は永続的に予約されます。 削除しても、同じバージョン番号の新しいパッケージを発行することはできません。 この問題に対処するには、package.json ファイル内のパッケージ バージョンを更新してから、もう一度やり直してください。