在Windows机器上,我在Jenkins中设置了一个非常简单的管道,它执行以下操作:
以下是整个管道脚本:
node {
stage('dev'){
git credentialsId: 'my-credentials', url: '[email protected]'
bat 'npm install'
bat 'pm2 start src\\index.js --name myapp'
}
}
除了运行pm2命令外,一切正常。输出错误说:
'pm2'不被识别为内部或外部命令,可操作程序或批处理文件。
但是,我可以通过CMD轻松运行完全相同的PM2命令,我已经尝试将最后一行命令放入.bat文件并要求jenkins执行它,并得到相同的错误。
Jenkins无法访问全局安装在Windows机器上的PM2
,这是由于Jenkin作为系统(root)用户运行而pm2与本地用户一起运行。我必须在项目的package.config文件中包含PM2
,然后从node_module文件夹中调用它。
\node_modules\.bin\pm2 start src\\index.js --name myapp