0

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 がノード プロセスを適切に強制終了できるように、ノード プロセスを開始するにはどうすればよいですか? この問題に間違った角度からアプローチしているので、別の方向から見る必要がありますか?

ありがとう。

4

1 に答える 1