Jenkins を使用してプロジェクトをビルドしているときに、いくつかのファイルをホストするために nodejs サーバー プロセスを開始する必要があります。次のようにこのプロセスを開始すると、ビルドが無限にハングします。
<target name="staticserver" description="Starts nodejs static server">
<exec executable="node">
<arg value="${env.WORKSPACE}staticserver.js"/>
</exec>
</target>
したがって、次のように切り替えたところ、ビルドは正常に実行されました
<target name="staticserver" description="Starts nodejs static server">
<exec executable="cmd.exe">
<arg value="/c"/>
<arg value="start"/>
<arg value="node"/>
<arg value="${env.WORKSPACE}staticserver.js"/>
</exec>
</target>
ただし、Jenkins のビルドが終了すると、ノード プロセスは存続します。
私は周りを調べましたが、子プロセスを殺すことに関するみんなの問題は、ジェンキンスがそれらすべてを殺すことであるようです...
ビルドの完了後に Jenkins がノード プロセスを適切に強制終了できるように、ノード プロセスを開始するにはどうすればよいですか? この問題に間違った角度からアプローチしているので、別の方向から見る必要がありますか?
ありがとう。