2017-04-03 3 views
0

サービスとして実行されているtfsエージェントでnpmモジュールを実行する方法は?TFS 2017オンプレミスはcmd内のノードモジュールを見つけることができません

これは私の設定です。

Iローカルマシン上のセットアップエージェントで、TFS 2017はオンプレミスで動作します。 そして、サービスとして稼動しているエージェントにaureliaアプリケーションを構築しようとしています。 エージェントが実行されているマシンにノード、aurelia cli、およびnpmをインストール済みです。コマンドau build(aurelia cli build)を使用して手動でcmdを実行して、グローバルにアクセスしました。しかし、au(ツール)とbuild(引数)を実行しているコマンドラインビルドステップを作成すると、エージェントはauを見つけられません。

他のnpmモジュールも見つからないと思います。

答えて

2

一般に、ビルドエージェント(サービスとして実行中)はNetwork Serviceアカウントを使用し、インストールされたnpmパッケージは現在のユーザーフォルダにあるため、auコマンドを直接コールできますが、ビルド中にauコマンドを呼び出すことはできません。

あなたはオーレリア-CLIパッケージをインストールして、あなたはまだネットワークサービスアカウントを使用している場合、コマンドラインステップでauのコマンドを呼び出すために、あなたのアカウントを使用するか、これらの手順を参照するために、ビルドエージェントのサービスアカウントを変更することができます。

  1. コマンドを追加します(Tool:npm;引数:install Aurelia-cli -g)
  2. Addコマンドラインステップ(ツール:C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Roaming \ npm \ au;引数:build;作業フォルダ:[プロジェクトフォルダ](例:$(Build.SourcesDirectory))

注:手順1は1回だけ実行するだけで済みます。次のビルドでは、時間を節約するために無効にするか削除することができます。

一方、C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Roaming \ npmを環境変数(システム変数>パス)に追加してから、auを直接使用することができます。

+0

ニース!変更サービスアカウントは私のために働く。ありがとうございました。 – janmvtrinidad

+0

TFSサーバーのenv変数(パス)を変更する必要があります。またはビルドコントローラで? – Sreekumar

+0

@Sreekumar env変数を手動で変更する必要はありません。既定では、パス環境(ユーザー変数)変数にはC:\ Users \ [XXX] \ AppData \ Roaming \ npmが含まれています(存在しない場合)。 –

関連する問題