4

我正在尝试使用 Hudson CI 为我的 Rails 项目设置一个自动“构建”服务器。到目前为止,它能够运行规范并对代码进行度量,但我有 2 个不同的项目依赖于 2 个不同版本的 ruby​​。所以我尝试使用 RVM 运行多个 ruby​​ 副本,然后在预构建步骤中来回切换。

我发现了一些像这样的帖子,试图解释如何使它工作,但我没有为 hudson 运行启动脚本,它在启动时启动,这就是我通过 debian 安装它时开箱即用的工作方式指示。

问题似乎是,即使 hudson 在“hudson”帐户下运行并且该帐户在尝试运行基于 shell 的预构建步骤以调用 rvm 开关 1.8.7 时安装了 rvm(并且正在工作),它也会失败并显示错误“rvm : 找不到命令”

不知道我做错了什么。Hudson 使用 SH 作为其外壳,但我也尝试使用 bash。没运气。

有没有人在这个设置中得到这个工作?

4

2 回答 2

3

编辑“/etc/init.d/hudson”(!)并更改行:

SU=/bin/su

... 改成:

SU="/bin/su -"

...并在 /home/hudson/.profile 中添加 rvm 设置

于 2010-06-17T23:09:30.467 回答
1

我和你有同样的症状。

经过几个小时的头撞后,检查您的 $HOME 环境变量是否为 Hudson(可在http://yourserver/hudson/systemInfo中查看)。

在 Ubuntu 下,Tomcat 6 启动脚本没有设置 $HOME。不知何故,Hudson 继承了我的 $HOME!

我将 HOME=$CATALINA_HOME 添加到/etc/init.d/tomcat6脚本的其余 ENV 声明下,现在一切正常。可以肯定的是,非常烦人的问题。

于 2010-08-10T22:23:01.327 回答