一尘不染

node.js服务器未在詹金斯中给出成功状态

jenkins

我想使用jenkins运行一个nodejs项目。一切都进行得很好,除非我在詹金斯工作中看不到任何成功状态。

我在jenkins中使用npm install&npm
start命令启动了服务器。它启动了服务器,但是没有成功构建,因此,我无法启动其他作业,这取决于节点服务器的构建成功;当新的提交到达时,jenkins会检测到它,但是该作业不会重新启动而是保留由于原始作业正在运行,因此处于待处理状态。

我是詹金斯的新手。有人可以为此建议什么吗?


阅读 220

收藏
2020-07-25

共1个答案

一尘不染

听起来您的js脚本的执行正在挂起您的构建,请尝试使用&后将其发送到后台:

npm install
npm start &

还要注意,npm start从Jenkins作业运行将产生一个新进程,而Jenkins将杀死在构建期间产生的作业,如果您希望将此进程保留为守护进程,则将是一个问题。

为了避免这种情况,您需要在命令之前提供一个标志:

BUILD_ID=dontKillMe npm start &

您尚未详细说明作业流程中的所有步骤,但我想您会在构建第一个作业之后尝试执行一些后构建操作,因此发现您的流程未运行会导致后续作业失败。

此外,请尝试永久使用。这将确保脚本一直运行直到停止为止,并可以像这样启动应用程序:

BUILD_ID=dontKillMe forever start yourApp.js
2020-07-25