【问题标题】:Jenkins can't open make詹金斯无法打开make
【发布时间】:2018-09-22 07:24:25
【问题描述】:

我最近在 Ubuntu 17.10 上安装了 Jenkins 2.89.2,我正在尝试设置我的第一个项目。到目前为止,我已经设法让 Jenkins 从我的存储库中下载源代码,但我在调用 make 时遇到了麻烦。我配置为使用命令make 在 Project > Configure > Build Environment > Build (Execute Shell) 中调用 make。调用 make 后返回错误make: not found

我已尝试使用solution 解决以下与将正确目录添加到 $PATH 环境变量相关的相关问题。我尝试将其添加到管理 Jenkins > 配置系统 > 环境变量下的系统设置中,以及项目 > 配置 > 构建环境 > 构建(执行外壳)下,将 PATH 设置为$PATH:/usr/bin。我确信我设法正确设置了路径,因为我在调用之前回显了 $PATH,但随后尝试使用其完全限定的路径调用 make,这导致了相同的错误:sh: /usr/bin/make: not found。这让我相信我没有正确调用 make。

我尝试使用命令sh makesh /usr/bin/make 调用make,错误变为Can't open makeCan't open /usr/bin/make

这让我相信 make 的访问权限不正确,但似乎确实如此。

-rwxr-xr-x 1 root root 222792 Feb  1  2017 /usr/bin/make

也许jenkins用户需要加一个组?

我对它可能是什么已经没有什么想法了,并且怀疑我是否对我调用 make 的方式得出了正确的结论。

其他一些细节: make 在命令行中正常工作 which make 返回/usr/bin/make

我在此宣誓效忠Koalemos,并请求詹金斯的众神怜悯我的灵魂。

【问题讨论】:

  • 我什至尝试按照github.com/jbankes/Hello_Jenkins 中的教程进行操作,即使在调用 make 时也会失败。看起来我在安装 Jenkins 时遗漏了一些东西。我按照这些instructions 安装:
  • 自发布以来,我尝试在 Ubuntu 16.04 上安装 Jenkins,执行 make 没有任何问题。我猜 Jenkins 的 Ubuntu 17.10 安装中有一些它不喜欢的东西。 make 可执行文件的权限相同-rwxr-xr-x 1 root root 207528 Feb 15 2016 /usr/bin/make
  • Jenkins 安装路径在 17.10 和 16.04 之间有很大不同。例如,主目录是 /var/snap/jenkins/6,而在 16.04 上是 /var/lib/jenkins。在 Ubuntu 中找到了关于 snap 的内容。尝试在 17.10 上通过 snap 安装 jenkins,但 Jenkins 无法作为服务运行。我放弃尝试解决这个问题。我宣布它“损坏”:-) 为我回到 Ubuntu 16.04!这将告诉我,最新最好的并不总是最好的。
  • 实际上,它确实作为服务安装。如果通过 snap 安装,结果是一样的。

标签: ubuntu jenkins


【解决方案1】:

如果您使用的是 Jenkins docker 镜像,请注意 Jenkins 提供的镜像不包括此(make)以及您可能需要的其他部门。

您可以做的是使用 root 用户对该容器运行 docker exec,然后使用 apt-get 安装所有 deps,然后您的构建将运行。

docker-machine env jenkins
#paste the env to set the docker-machine context
docker exec -it --user root <container-name> /bin/bash 
#terminal session as root starts
apt-get update 
apt-get install build-essential

【讨论】:

  • 包的正确名称是“build-essential”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-19
  • 2012-09-08
  • 2014-09-09
相关资源
最近更新 更多