繁体   English   中英

如何使用 pm2 和 jenkins 运行“sudo npm start”?

[英]How to user pm2 and jenkins to run the 'sudo npm start'?

我已添加 jenkins 用户以拥有所有权限。

jenkins ALL=(ALL) NOPASSWD: ALL

还全局安装了pm2pm2需要运行命令

sudo npm start

由于构建过程需要创建一些目录,如果我在 app1 目录中运行sudo npm start它可以完美运行但是使用 pm2 命令它会抛出访问错误

sudo pm2 start config.js

配置文件

  module.exports = {
      apps : [{
        name   : "app1",
        cwd : "./my-dir/app1,
        script : "sudo npm",
        args : "start"
      },{
        name   : "app2",
        cwd : "./my-dir/app2",
        script : "npm",
        args : "start"
      }]
    }

是 pm2 权限还是用户权限错误?

不是使用所有sudo权限运行命令,而是创建具有您想要授予应用程序的最少权限的用户。

您已经设置为使用詹金斯sudo没有密码,所以你可以使用以下命令来运行pm2从詹金斯与最小特权其它用户。

sudo su - username -c 'pm2 start config.js'

上面的命令将以指定的用户身份运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM