2016-03-04 48 views
0

那么如何配置这个travis ci文件,以便rails5 gemfile只测试/使用ruby 2.2.2? Activesupport 5需要ruby 2.2.2。如何配置travis,以便特定的gemfile只使用特定版本的ruby?

language: ruby 
env: 
    - CI=true 
before_script: 
    - "bundle exec rake db:prepare" 
rvm: 
    - 2.0.0 
    - 2.1.6 
    - 2.2.2 
gemfile: 
    - gemfiles/rails32.gemfile 
    - gemfiles/rails4.gemfile 
    - gemfiles/rails41.gemfile 
    - gemfiles/rails42.gemfile 
    - gemfiles/rails5beta.gemfile 
notifications: 
    recipients: 
    - [email protected] 
    - [email protected] 
+0

我不是恩非常确定它是否会工作,但bundler支持'ruby'关键字,所以你可以在你的gemfiles顶部做一些类似于ruby 2.2.2的东西。 –

回答

0

找到了答案 - 显然,特拉维斯包括基质的选择,让您不与特定的Gemfile运行某些Ruby版本(或运行它们)

matrix: 
    exclude: 
    - rvm: 2.0.0 
     gemfile: Gemfile 
     env: DB=mongodb 
    - rvm: 2.0.0 
     gemfile: Gemfile 
     env: DB=redis 
    - rvm: 2.0.0 
     gemfile: Gemfile 
     env: DB=mysql 
2

您可以定义一个构建matrix像这样:

language: ruby 
env: 
    - CI=true 
before_script: 
    - "bundle exec rake db:prepare" 
matrix: 
    include: 
    - rvm: 2.0.0 
     gemfile: 
     - gemfiles/rails32.gemfile 
     - gemfiles/rails4.gemfile 
     - gemfiles/rails41.gemfile 
     - gemfiles/rails42.gemfile 
    - rvm: 2.1.6 
     gemfile: 
     - gemfiles/rails32.gemfile 
     - gemfiles/rails4.gemfile 
     - gemfiles/rails41.gemfile 
     - gemfiles/rails42.gemfile 
    - rvm: 2.2.2 
     gemfile: 
     - gemfiles/rails32.gemfile 
     - gemfiles/rails4.gemfile 
     - gemfiles/rails41.gemfile 
     - gemfiles/rails42.gemfile 
     - gemfiles/rails5beta.gemfile 
notifications: 
    recipients: 
    - [email protected] 
    - [email protected] 

见文档在:Travis CI - Customizing the Build - Build Matrix