这很可能是 TeamCity 找不到 ruby 可执行文件路径的问题。
您可以通过在构建参数部分的构建配置中覆盖 PATH 环境变量的值来解决此问题。
env.PATH=/path/to/ruby;%env.PATH%
有关文档等的正确链接,请参阅此答案。
编辑#1
我注意到在更新我的一项配置时,TeamCity 应该负责附加值,因此您不需要将路径设置为等于自身。上面提到的帖子是针对 TeamCity 覆盖值的错误的解决方法,但已得到纠正。有关更多信息,请参阅鼠标悬停时的帮助:
![环境变量的鼠标悬停帮助](https://i.stack.imgur.com/0hspX.png)
编辑#2
我测试了编辑#1,发现情况并非如此。你确实需要
- 创建环境变量
env.Path
- 并将其值设置为自身加上您的新路径;在我的例子中,
C:\Program Files\MySQL\MySQL Server 5.6\bin\;%env.Path%
- 你不需要说
env.Path=...
上面列出的;这就是配置文件的样子。
我通过执行以下操作对此进行了测试:
- 创建了一个没有存储库的新项目
- 向 `echo %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 + #2