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 ファイルは通常、ユーザーのホーム ディレクトリにありますが、プロジェクト レベルで作成して既定の設定をオーバーライドすることもできます。 .npmrc ファイルを変更することで、ユーザーは特定の要件を満たすように npm エクスペリエンスをカスタマイズできます。

前提条件

プロジェクトの設定

ベスト プラクティスについては、2 つの個別の構成ファイルを使用することをお勧めします。 1 つ目は Azure Artifacts での認証に使用され、2 つ目はローカルに格納され、資格情報が保持されます。

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

次の手順では、最初の構成ファイルを設定する手順について説明します。

Note

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

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

  2. [成果物] を選択し、[フィードに接続] を選択します。

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

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

  4. npm で Azure Artifacts を初めて使用する場合は、[ツールの取得] を選択し、手順に従って前提条件をインストールします。

  5. Project セットアップの指示に従ってフィードに接続します。

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

  1. コレクションを選択し、プロジェクトに移動します。

  2. [成果物] を選択し、[フィードに接続] を選択します。

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

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

  4. npm で Azure Artifacts を初めて使用する場合は、[ツールの取得] を選択し、手順に従って前提条件をインストールします。

  5. Project セットアップの手順に従って、構成ファイルを設定します。

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

  1. コレクションを選択し、プロジェクトに移動します。

  2. [成果物] を選択し、[フィードに接続] を選択します。

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

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

  4. npm で Azure Artifacts を初めて使用する場合は、[ツールの取得] を選択し、手順に従って前提条件をインストールします。

  5. Project セットアップの手順に従って、構成ファイルを設定します。

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

  1. コレクションを選択し、プロジェクトに移動します。

  2. [成果物] を選択し、[フィードに接続] を選択します。

    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. プロジェクトに移動し、[パイプライン>ビルド] を選択し、ビルド定義を選択します。

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

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

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

  1. npm 認証タスクを検索し、[追加] を選択します

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

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

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

Note

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

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

Note

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

トラブルシューティング

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

プロジェクトの実行中に次のエラーが発生した場合:

  • コマンド: 'vsts-npm-auth' is not recognized as an internal or external command, operable program or batch file.

  • PowerShell: vsts-npm-auth : The term 'vsts-npm-auth' is not recognized as the name of a cmdlet, function, script file, or operable program.

その後、npm モジュール フォルダーがパスに追加されていない可能性があります。 これに対処するには、Node.jsセットアップを再実行し、必ずオプションを Add to PATH 選択してください。

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

または、コマンド プロンプトまたは $env:APPDATA\npm PowerShell で PATH 変数を変更して、npm モジュール フォルダーをパスに%APPDATA%\npm追加することもできます。

認証できない

E401 エラーが発生している場合: code E401 npm ERR! Unable to authenticate -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