如何使用 pm2 和 jenkins 到 运行 'sudo npm start'?
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
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
权限的命令创建用户,而不是使用您想要授予您的应用程序的最少权限。
您已经将 jenkins 设置为使用 sudo
而无需密码,因此您可以使用以下命令将 jenkins 中的 运行 和 pm2
作为其他具有最低权限的用户使用。
sudo su - username -c 'pm2 start config.js'
以上命令将运行指定为用户
我已将 jenkins 用户添加到拥有所有权限。
jenkins ALL=(ALL) NOPASSWD: ALL
还全局安装了pm2
,pm2
需要运行命令
sudo npm start
因为构建过程需要创建一些目录,如果我在 app1 目录中 运行 sudo npm start
它可以完美地工作但是使用 pm2 命令它会抛出访问错误
sudo pm2 start config.js
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
权限的命令创建用户,而不是使用您想要授予您的应用程序的最少权限。
您已经将 jenkins 设置为使用 sudo
而无需密码,因此您可以使用以下命令将 jenkins 中的 运行 和 pm2
作为其他具有最低权限的用户使用。
sudo su - username -c 'pm2 start config.js'
以上命令将运行指定为用户