在jenkins内执行没有sudo的命令

在jenkins内执行没有sudo的命令

我导入了一堆jenkins作业,这些作业有很多shell脚本命令。这些命令之前没有sudo。Jenkins有自己的用户。有没有办法让我可以通过jenkins执行这些命令,而无需编写每个命令之前都需要 sudo 吗?

答案1

构建步骤中使用的用户是用于连接从站的用户。 (对于master,它是master运行时的用户id)。

因此,创建一个通过 ssh 作为您需要的用户(可能是本地主机)连接的从站,然后在该从站上运行作业。

答案2

在 /etc/sudoers.d/ 下创建一个文件。您可以使用路径和 NOPASSWD 在该文件中添加特定命令。

username ALL=(ALL) NOPASSWD: /bin/chown tomcat.tomcat /home/harry/* username ALL=(ALL) NOPASSWD: /bin/mkdir /home/harry/*

对于论点,

username ALL=(ALL) NOPASSWD: /bin/mkdir * /home/harry/*

同样,您可以给出这样的任何命令,并在詹金斯中无需密码即可执行它们。请记住,用户名将是我们用来通过 ssh 或在同一主服务器上执行的 jenkins 用户名。

相关内容