npm 启动后 jenkins 管道未完成

问题描述 投票:0回答:2

我正在与 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 “永无止境”,整个构建过程没有完成。

有什么建议我如何在最后一步运行服务器而不阻塞进程,以便它可以完成?

致以诚挚的问候!

reactjs jenkins npm jenkins-pipeline create-react-app
2个回答
2
投票

使用

npm start
作为后台/守护进程运行
forever
& 管道将会成功。

$ forever start index.js

参考 - https://www.npmjs.com/package/forever

您也可以使用

nohup

$ nohup npm start &

我建议永远使用它,因为守护进程和监控你的 Nodejs 应用程序已经变得非常流行。


1
投票

永远足以从 Jenkins 管道启动应用程序。 但如果您想要生产级别的流程管理器,您仍然可以考虑 PM2 和类似的工具,如 nodemon。

您可以看到工具之间的比较 https://npm-compare.com/forever,nodemon,pm2,strong-pm

© www.soinside.com 2019 - 2024. All rights reserved.