travis-ciruby搭build节点5

我已经尝试了很多东西,但最终无法获得运行gulp-pipeline-rails的构build。 script在本地运行,没问题。

我缩小的最后一个问题是,我有一个使用节点的ruby语言项目,但是我需要节点5 。 我发现了一个片段 :

 #------------------------------ # Update the node version env: - TRAVIS_NODE_VERSION="5" install: - pwd - rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION - npm install 

虽然这似乎得到节点更新,它做了一些我的rubyenv 无法执行rspec :

 $ pwd && bundle exec rake /home/travis/build/alienfast/gulp-pipeline-rails Could not find gem 'rspec' in any of the gem sources listed in your Gemfile or available on this machine. Run `bundle install` to install missing gems. 

问题就这么说,我该如何简单地使用这个.travis.yml Node 5?

 language: ruby rvm: - 2.2.2 - ruby-head matrix: allow_failures: - rvm: ruby-head cache: bundler #------------------------------ # Setup before_script: - node -v # update npm - npm install npm -g # install Gulp 4 CLI tools globally from 4.0 GitHub branch - npm install https://github.com/gulpjs/gulp-cli/tarball/4.0 -g #------------------------------ # Build script: bundle exec rake 

尝试使用before_install阶段在Travis上添加第二种语言 ,例如:

 before_install: - nvm install node 

nvm应该默认安装在Travis构build镜像上(取决于你使用的是哪一个),这个命令将会安装最新版本的Node。

在那之后,也许只需npm install -g gulp-cli@4.0作为你的before_script阶段的第一步(也就是不用担心更新npm),希望这应该意味着bundler仍能正常运行并安装所有的gem。

我发现这篇文章帮了我很多。

文章相关资料:

您可以使用nvm来pipe理您在travis中的节点版本,但是您必须先启用它:

  install: - . $HOME/.nvm/nvm.sh - nvm install stable - nvm use stable 

如果项目的语言是ruby,Travis CI将默认运行bundle install --jobs=3 --retry=3

如果您自己在.travis.yml定义了一个install阶段, 则默认不会执行新指定的命令。 这里的想法是默认的理智的魔法,应该很容易被覆盖。

这个问题有两个解决scheme:

  1. bundle install --jobs=3 --retry=3install阶段
  2. 根据before_installbuild议,将节点replace片段的标题重命名为before_install。