2010-05-23 158 views
4

我正在嘗試爲使用Hudson CI的我的rails項目設置一個自動「構建」服務器。到目前爲止,它能夠運行規範並對代碼執行度量標準,但是我有兩個不同的項目依賴於2個不同版本的ruby。所以我試圖使用RVM來運行多個ruby副本,然後在預構建步驟中來回切換。如何在Debian上使用RVM w/Hudson CI服務器?

我發現一對夫婦的帖子像this one試圖解釋如何使這項工作,但我不運行哈德森啓動腳本,它開始在引導這是怎麼回事工作開箱時,我安裝了它通過debian指令。

問題似乎是,即使哈德森在「哈德森」帳戶下運行,並且該帳戶在嘗試運行基於shell的預構建步驟來調用rvm switch 1.8.7時已安裝(並正在運行),它將失敗錯誤「RVM:命令未找到」

不知道我做錯了。哈德森使用SH作爲它的殼,但我也嘗試使用bash。沒有運氣。

有沒有人在此設置之前得到這方面的工作? (!)

+0

什麼是在'/ home/hudson/.profile'中設置了'PATH'? 'type -a rvm'(Bash)或'rvm'告訴你什麼? – 2010-05-23 01:47:05

+0

$ PATH是/ usr/LOCA /斌:在/ usr/bin中:/ bin中:在/ usr /遊戲 但輸入RVM執行腳本RVM返回任何內容。我相信rvm是一個bash腳本不是實際的應用程序 type -a rvm返回「rvm是函數」和函數內容。 在我的.profile和.bashrc爲「哈德森」用戶我有這條線(根據哈德森文檔) if [[-s「$ HOME/.rvm/scripts/rvm」]];然後輸入「$ HOME/.rvm/scripts/rvm」; fi 奇怪的是,如果我su到哈德森帳戶,我可以使用RVM但在該帳戶上運行的哈德森服務器無法找到它。 – JoshReedSchramm 2010-05-23 02:03:36

+0

如果'$ HOME/.rvm/scripts/rvm'文件不包含'export -f rvm'語句,那麼可以在'.profile'和'.profile'中的引用'fi'之前嘗試添加它。 '.bashrc'。此外,如果對不是答案或問題帖子的擁有者的人發表評論,他們可能不會看到評論或回覆,如果您沒有使用@user(我的案例中是@Dennis)向他們發送評論或回覆。縮寫的用戶名稱工作。以這種方式尋址導致頁面頂部的小警報信封點亮。 – 2010-05-23 07:39:39

回答

1

我有同樣的症狀你。

幾個撞頭的小時後,檢查哈德森(在http://yourserver/hudson/systemInfo可視範圍)你的$ HOME環境變量。

Ubuntu下,Tomcat的6啓動腳本沒有設置$ HOME。不知何故,哈德森繼承了我的$ HOME!

我在ENV聲明的其餘部分添加了HOME = $ CATALINA_HOME到/etc/init.d/tomcat6腳本,現在它全部正常工作。當然非常討厭的問題。

3

編輯 「/etc/init.d/hudson」,改變該行:

SU=/bin/su 

...變化:

SU="/bin/su -" 

...並添加RVM設置在/home/hudson/.profile

相關問題