TeamCity ではデフォルトでnode のコマンドをサポートしていません。
そのためTeamCity のプラグインを導入しなければなりません。
ここではそのプラグインの紹介と簡単な使い方を紹介します。
プラグインの導入方法については解説しませんので、ご注意を。
プラグイン
Node 関連のコマンドを扱うプラグインです。
実行できるようになるコマンドは以下になります。
プラグインを使うために追加でインストールすべきもの
プラグインを導入しただけでは、TeamCity 上でコマンドを実行した時にエラーとなってしまいます。
そのため、以下のものについては、TeamCity が起動しているサーバに追加インストールする必要があります。
必須
任意
任意とした理由は、もしTeamCity を複数プロジェクトで使用している場合は、プロジェクトごとに異なるバージョンを使用することがあるため、プロジェクト側のビルドプロセスで任意パッケージをインストールしたほうが良いからです。
1プロジェクトであればTeamCity にインストールしておいて問題ありません。
もちろん使用しないのであれば、すべてインストールする必要ありませんが。
TeamCity ビルド
ここでは、npm, gulp を使用したビルドを紹介します。
この例では、各プロジェクトごとに各パッケージのバージョンが異なる前提で作成しています。
全体のタスクは以下のようになります。
1. Node のバージョンを NVM インストーラで指定します。
2. Node をインストールしたときに付属してくるnpm をバージョン指定します。ここでは最新版にしています。
3. gulp をバージョン指定してインストールします。ここでは最新版にしています。
4. リポジトリから取得したプロジェクトを`npm install`します。これでnpm_modules がTeamCity 上にインストールされます。
5. リポジトリから取得したプロジェクトの各タスクを実行します。ここでは`npm run`しています。
ポイントは各パッケージをプロジェクトのビルドプロセスでインストールしていることです。