在 Windows 机器上,我在Jenkins中设置了一个非常简单的管道,该管道可以执行以下操作:
克隆git存储库
安装软件包
通过“ pm2启动命令”
下面是整个pipleline脚本:
node {
stage('dev'){
git credentialsId: 'my-credentials', url: 'git@myurl.git'
bat 'npm install'
bat 'pm2 start src\\index.js --name myapp'
}
}
除运行 pm2 命令外,其他所有操作均正常。输出错误为:
'pm2'不被识别为内部或外部命令, 可操作的程序或批处理文件。
但是,我可以通过CMD轻松地运行完全相同的 PM2 命令,我尝试将最后一行命令放入 .bat 文件中,并让jenkins执行,并得到相同的错误。
答案 0 :(得分:0)
Jenkins无法访问全局安装在Windows机器上的PM2
,这是由于Jenkin在pm2与本地用户一起运行时以系统(root)用户身份运行。我必须在项目的package.config文件中包含PM2
,然后从node_module文件夹中调用它。
\node_modules\.bin\pm2 start src\\index.js --name myapp