我目前正在尝试将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版本的测试,我做错了什么?
亲切抢劫
答案 0 :(得分:2)
我发现错误,TravisCI在每个分支中寻找.travis.yml,但我的主分支中只有一个(我认为TravisCI只检查主分支)。 我添加了一个.travis.yml,一切都很好。
答案 1 :(得分:0)
即使我的.travis.yml
被包含在内,我也遇到了类似的错误消息。对我有用的解决方案是将生成的Gemfile.lock
包含在回购中。