很可能这是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