2016-03-25 27 views
6

Tôi đã thử nhiều thứ, nhưng cuối cùng không thể xây dựng cho gulp-pipeline-rails chạy. Các script chạy tại địa phương, không có vấn đề.travis-ci ruby ​​xây dựng với nút 5

Vấn đề cuối cùng tôi đã thu hẹp là tôi có dự án ngôn ngữ ruby sử dụng nút, nhưng I need node 5. Tôi thấy one snippet:

#------------------------------ 
# 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 

Trong khi điều này dường như để có được nút cập nhật, nó làm điều gì đó để env ruby ​​anh nơi mà nó fails to execute 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. 

Câu hỏi Với tất cả những gì đã nói, làm thế nào thế nào để tôi chỉ cần sử dụng Node 5 với điều này .travis.yml?

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 

Trả lời

6

Hãy thử sử dụng một giai đoạn before_install cho adding a second language trên Travis, có lẽ cái gì đó như:

before_install: 
    - nvm install node 

nvm nên được cài đặt theo mặc định trên Travis xây dựng hình ảnh (tùy thuộc vào cái nào bạn đang sử dụng), và lệnh này sẽ cài đặt phiên bản Node mới nhất.

Sau đó, có thể chỉ có npm install -g [email protected] là bước đầu tiên trong giai đoạn before_script của bạn (tức là đừng lo lắng về việc cập nhật npm), hy vọng điều đó có nghĩa là trình chạy vẫn chạy tốt và cài đặt tất cả các đá quý của bạn.

0

Nếu ngôn ngữ của dự án là ruby, Travis CI sẽ chạy bundle install --jobs=3 --retry=3 theo mặc định.

Nếu bạn xác định một giai đoạn install mình trong .travis.yml, the default will not execute in favor of the newly specified commands. Suy nghĩ ở đây là có ma thuật lành mạnh theo mặc định nên dễ dàng bị ghi đè.

Có hai giải pháp cho vấn đề này:

  1. Thêm bundle install --jobs=3 --retry=3 đến giai đoạn install
  2. Đổi tên tiêu đề của đoạn thay thế nút để before_install theo đề nghị của @ocean.
2

Tôi tìm thấy this article đã giúp tôi khá nhiều.

thông tin có liên quan từ bài viết:

Bạn có thể sử dụng để quản lý nvm bạn phiên bản nút trong travis, tuy nhiên bạn phải kích hoạt nó đầu tiên:

install: 
    - . $HOME/.nvm/nvm.sh 
    - nvm install stable 
    - nvm use stable 
Các vấn đề liên quan