从Jenkins运行grunt作为`root`用户

时间:2017-03-21 15:35:54

标签: jenkins gruntjs root

每当有人推动时,我需要Jenkins执行一些shell命令。其中一个是grunt prod,但只有当我以root用户身份执行时,它才有效。如果我尝试将其用作jenkins用户,我会得到以下内容:

[4mRunning "ngAnnotate:production" (ngAnnotate) task[24m [33mWarning: Unable to write "public/dist/application.js" file (Error code: EACCES). Use --force to continue.[39m

任何人都知道如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将您的jenkins用户jenkins添加到/etc/sudoers,并允许其执行sudo而无需通过以下方式输入密码: jenkins ALL = NOPASSWD: /bin/sh, /path/to/your/script

然后您可以使用sudo来运行脚本: sudo /path/to/your/script

如果您必须与用户root一起执行,我认为首先您应该允许root通过SSH登录,然后使用Jenkins SSH插件以root登录执行你的脚本。

希望它有所帮助。