我想使用jenkins运行一个nodejs项目。一切都进行得很好,除非我在詹金斯工作中看不到任何成功状态。
我在jenkins中使用npm install&npm start命令启动了服务器。它启动了服务器,但是没有成功构建,因此,我无法启动其他作业,这取决于节点服务器的构建成功;当新的提交到达时,jenkins会检测到它,但是该作业不会重新启动而是保留由于原始作业正在运行,因此处于待处理状态。
我是詹金斯的新手。有人可以为此建议什么吗?
听起来您的js脚本的执行正在挂起您的构建,请尝试使用&后将其发送到后台:
npm install npm start &
还要注意,npm start从Jenkins作业运行将产生一个新进程,而Jenkins将杀死在构建期间产生的作业,如果您希望将此进程保留为守护进程,则将是一个问题。
npm start
为了避免这种情况,您需要在命令之前提供一个标志:
BUILD_ID=dontKillMe npm start &
您尚未详细说明作业流程中的所有步骤,但我想您会在构建第一个作业之后尝试执行一些后构建操作,因此发现您的流程未运行会导致后续作业失败。
此外,请尝试永久使用。这将确保脚本一直运行直到停止为止,并可以像这样启动应用程序:
BUILD_ID=dontKillMe forever start yourApp.js