3

我目前正在尝试为我的 Rails 应用程序正确使用 TravisCI,但我对我面临的问题感到有点困惑。

在我的 .travis.yml

我有这个:

language: ruby
before_install:
  - gem install bundler
rvm:
  - 2.0.0
env:
  - DB=sqlite
  - DB=mysql
  - DB=postgresql
script:
  - rake db:migrate
  - rake db:test:prepare

在我的 Gemfile 中,我使用了精确的 Ruby 版本:ruby "2.0.0"

有了这个 .travis.yml ,测试对我说失败了:

$ 宝石--版本

2.0.3

$捆绑安装--部署

您的 Ruby 版本是 1.9.3,但您的 Gemfile 指定了 2.0.0

但是当我.travis.yml这样修改我的:

language: ruby
before_install:
  - gem install bundler
rvm:
  - 1.9.3
  - 2.0.0
env:
  - DB=sqlite
  - DB=mysql
  - DB=postgresql
script:
  - rake db:migrate
  - rake db:test:prepare

Travis CI 运行测试两次(1.9.3 版本一次,2.0.0 版本一次),1.9.3 版本失败,2.0.0 版本成功。

为了通过 2.0.0 ruby​​ 版本的测试,我做错了什么?

亲切抢夺

4

2 回答 2

2

我发现了问题所在,TravisCI 正在每个分支中寻找 .travis.yml 但我的主分支中只有一个(我认为 TravisCI 只检查主分支)。我添加了一个 .travis.yml ,一切正常。

于 2013-07-25T10:24:56.493 回答
0

即使.travis.yml包含我的错误消息,我也遇到了类似的问题。对我有用的解决方案是将生成的内容也包含Gemfile.lock在 repo 中。

于 2016-07-05T18:46:52.160 回答