无法通过詹金斯管道启动 pm2

Unable to start pm2 via jenkins pipeline

Windows 机器上,我在 Jenkins 中设置了一个非常简单的管道,它执行以下操作:

  1. 克隆一个 git 存储库,

  2. 安装软件包,

  3. 运行 应用程序通过“pm2 启动命令

下面是整个流水线脚本:

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 执行它,得到同样的错误。

Jenkins 无法访问全局安装在 Windows 机器上的 PM2,这是因为 Jenkin 运行 是系统(root)用户,而pm2 是 运行 本地用户。我必须在项目的 package.config 文件中包含 PM2,然后从 node_module 文件夹中调用它。

\node_modules\.bin\pm2 start src\index.js --name myapp