[英]How to user pm2 and jenkins to run the 'sudo npm start'?
我已添加 jenkins 用户以拥有所有权限。
jenkins ALL=(ALL) NOPASSWD: ALL
还全局安装了pm2
, pm2
需要运行命令
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.