0

我正在学习所有这些新技术。我有一个用于私人开发的家庭服务器,最新版本的 centos 7.6(最小安装)。我试图让服务器尽可能轻。

我已经安装了 jenkins (v2.164.2) 并且它正常运行。我创建了一个新的 Freestyle 项目来编译托管在另一个自己的 gogs 服务器上的 g++ 项目。我已经定义了 gogs url 和凭据,然后在执行 shell 命令中添加了以下内容:

which g++; make clean; make;

当我按下“立即构建”按钮时,它会失败并显示以下消息:

其中: (/sbin:/usr/sbin:/bin:/usr/bin) 中没有 g++

克隆存储库等似乎工作正常。

我没有安装默认的 g++ 版本,而是安装了 devtools-7 (g++ v7.3.1) 附带的那个。我在 /etc/profile.d/devtools.sh 下创建了一个新文件,其中包含以下文本:

!#/bin/bash
source scl_source enable devtoolset-7

如果我登录到服务器中的 bash shell,然后运行 ​​which g++,我会得到预期的输出。

最后,问题是:为什么詹金斯不接受这个?据我所知,在 /etc/profile.d 下添加该文件可确保每个人都能够访问 g++。

非常感谢您的任何帮助。

4

1 回答 1

1

我已经设法在最后修复它。我留下这个问题,以防其他人遇到同样的问题。我只需将以下行添加为“执行 shell”命令字段中的第一行:

#!/bin/bash -l
make clean; make;

#!/bin/bash -l成功了。(请注意 -l)。

在这里找到它:詹金斯使用什么外壳?

于 2019-04-13T12:09:59.980 回答