我正在与 Jenkins Pipeline 合作,为我的 ReactJS 应用程序执行非常简单的构建自动化。 这是我的代码:
pipeline {
agent any
stages {
stage('Build') {
steps {
dir('react\\my-app') {
echo 'Start building process...'
bat 'npm install'
}
}
}
stage('Test') {
steps {
echo 'Testing.. //TODO run automation tests...'
}
}
stage('Deploy') {
steps {
echo 'Deployment steps.. //TODO copy build file to target folder...'
}
}
}
post {
success {
dir('react\\my-app') {
bat 'npm start'
}
}
}
}
我
m doing is just to compile the application with npm install and then I
正在使用 npm start 在默认节点服务器上启动它。
发生的情况是 npm start “永无止境”,整个构建过程没有完成。
有什么建议我如何在最后一步运行服务器而不阻塞进程,以便它可以完成?
致以诚挚的问候!
使用
npm start
作为后台/守护进程运行 forever
& 管道将会成功。
$ forever start index.js
参考 - https://www.npmjs.com/package/forever
您也可以使用
nohup
。
$ nohup npm start &
我建议永远使用它,因为守护进程和监控你的 Nodejs 应用程序已经变得非常流行。
永远足以从 Jenkins 管道启动应用程序。 但如果您想要生产级别的流程管理器,您仍然可以考虑 PM2 和类似的工具,如 nodemon。
您可以看到工具之间的比较 https://npm-compare.com/forever,nodemon,pm2,strong-pm