我的服务器上有一个 jenkins 设置,它会自动创建用户jenkins
,用于其操作系统操作。但是,我需要 Jenkinssystemctl
在特定构建完成后停止并启动服务(通过)。
我当前的脚本(在构建后执行myapp
)如下所示:
sudo systemctl stop myapp
rm -f /opt/myapp/myapp.jar
mv target/myapp.jar /opt/myapp
sudo systemctl start myapp
为了使其工作,我只需将jenkins
用户添加到 sudoers 文件中,即可执行所有没有密码提示的命令:
jenkins ALL=(ALL:ALL) NOPASSWD: ALL
这样做安全吗?我会面临哪些风险?有没有更好的方法?如果有,怎么做?