【问题标题】:Sudo command not found (error in Jenkins execute shell)找不到 Sudo 命令(Jenkins 执行 shell 中的错误)
【发布时间】:2014-12-20 00:23:28
【问题描述】:

当我在 jenkins 作业(通过执行 shell)中使用 sudo 执行 unix 命令时,会抛出如下错误:

..../bin/sh -xe /tmp/hudson7505852448142784880.sh
+ sudo whoami 
/tmp/hudson7505852448142784880.sh: line 2: sudo: command not found
Build step 'Execute shell' marked build as failure 
Finished: FAILURE

【问题讨论】:

  • 您使用的是什么 Linux 发行版。并非所有发行版都默认安装了 sudo
  • 确保已安装sudo,并且您的PATH 包含其目录。
  • 它的 oracle linux... 在终端 sudo 中工作正常.... 仅在 jenkins buil 中(执行 shell 不工作)@Leon Basile Starynkevitch
  • 你如何运行 Jenkins?您是手动启动它还是作为守护程序安装?确保 sudo 适用于运行 Jenkins 进程的用户。
  • @MarcelPfeiffer ..我没有手动启动它......它在本地主机上运行......我已经修改了 jenkins 在具有 sudo 权限的不同用户下运行

标签: linux unix jenkins scripting sudo


【解决方案1】:

Jenkins 使用 'jenkins` 用户运行。只是因为它在终端中与您的登录用户一起工作,并不意味着它已配置为与“jenkins”用户一起工作。

从您的终端执行:
sudo su jenkins
然后尝试从詹金斯的用户运行sudo

【讨论】:

  • 我已修改 jenkins 以在具有 sudo 权限的不同用户下运行...执行 shell 中的简单 whoami 将用户名作为输出而不是 jenkins...@Slav
猜你喜欢
  • 2017-07-06
  • 1970-01-01
  • 2017-08-09
  • 2019-02-05
  • 2014-01-11
  • 2018-02-22
  • 2018-08-11
  • 2020-05-19
  • 1970-01-01
相关资源
最近更新 更多