很可能這是TeamCity找不到ruby可執行文件路徑的問題。
您可以通過在生成參數部分的生成配置中覆蓋PATH環境變量的值來解決此問題。
env.PATH=/path/to/ruby;%env.PATH%
見this answer爲適當的文檔鏈接等
編輯#1
我更新該TeamCity的應該照顧我的配置之一,當發現附加值,所以你不要需要設置路徑等於自己。上面提到的帖子是TeamCity覆蓋值的錯誤的解決方法,但已被更正。見在鼠標懸停幫助以獲取更多信息:
編輯#2
我測試編輯#1,發現情況並非如此。你需要
- 創建變量的環境
env.Path
- ,並設置它的價值本身加上新的路徑;在我的例子中,
C:\Program Files\MySQL\MySQL Server 5.6\bin\;%env.Path%
- 你做不是需要說
env.Path=...
如上所列;這就是配置文件的樣子。
我測試了這一點,通過執行以下操作:
- 創建一個新的項目,沒有倉庫
- 添加命令行構建步驟'回聲%ENV。PATH%
- 增加了一個命令的步驟調用MySql的
mysql --help
如果它不能找到的MySql這將失敗
然後我跑了每個以下設置爲env.Path
變量:
- 未添加/更改; TeamCity按原樣報告構建代理的環境變量。
- 只需加入
C:\Program Files\MySQL\MySQL Server 5.6\bin\
即可。 TeamCity僅報告該條目。
- 添加爲
C:\Program Files\MySQL\MySQL Server 5.6\bin\;%env.Path%
。 TeamCity將C:\Program Files\MySQL\MySQL Server 5.6\bin\
預置爲#1中顯示的構建代理的值。結果是我們想要的,#1 +#
請注意,引用的答案在前綴路徑和現有PATH之間使用冒號':',但我認爲您需要一個分號';'而不是,因爲這是Windows用來分隔PATH變量中的不同條目的原因。如果您發現其中一個有效,另一個不可用,請編輯此帖子或添加評論。 – Damon
我試過'env.PATH = C:\ RailsInstaller \ Ruby1.9.3;'但我不確定我是否正確使用它?路徑是實際的'ruby.exe'或者......的路徑嗎? – ediblecode
是的,您應該查找Ruby安裝到的位置,而不是安裝程序。當你使用RDP時,運行'WHERE bundle'來查看Windows正在使用的路徑。我認爲應該在所有現代風格的Windows上提供「WHERE」。我沒有在我的機器上使用Ruby,否則我會爲你測試。我之前剛剛看到了與構建代理的類似錯誤,所以我認爲這就是您所需要的。這也被標記爲接受,那是否意味着它對你有用? – Damon