Travis CI Ruby版本冲突

时间:2013-07-24 15:59:13

标签: ruby-on-rails ruby version travis-ci

我目前正在尝试将TravisCI正确用于我的rails应用程序,但我对我面临的问题感到有些困惑。

在我的.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,测试失败了对我说:

  

$ gem --version

     

2.0.3

     

$ bundle install --deployment

     

您的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​​版本的测试,我做错了什么?

亲切抢劫

2 个答案:

答案 0 :(得分:2)

我发现错误,TravisCI在每个分支中寻找.travis.yml,但我的主分支中只有一个(我认为TravisCI只检查主分支)。 我添加了一个.travis.yml,一切都很好。

答案 1 :(得分:0)

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