2016-03-25 17 views
6

के साथ निर्मित मैंने कई चीजों की कोशिश की है, लेकिन आखिरकार gulp-pipeline-rails चलाने के लिए निर्माण करने में विफल रहा है। script स्थानीय रूप से चलता है, कोई समस्या नहीं।ट्रैविस-सीआई रूबी नोड 5

आखिरी समस्या मैंने संकुचित कर दी है कि मेरे पास ruby भाषा प्रोजेक्ट है जो नोड का उपयोग करता है, लेकिन I need node 5। मैं 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 

इस नोड अद्यतन प्राप्त करने के लिए लगता है, यह मेरे गहरे लाल रंग का env के लिए कुछ करता है, जहां यह 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. 

प्रश्न कि सभी ने कहा, कैसे के साथ क्या मैं बस .travis.yml के साथ नोड 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 

उत्तर

6

ट्रैविस पर adding a second language के लिए एक before_install मंच का उपयोग कर, हो सकता है कुछ की तरह का प्रयास करें:

before_install: 
    - nvm install node 

nvm ट्रैविस पर डिफ़ॉल्ट रूप से स्थापित किया जाना चाहिए छवि का निर्माण (जो आपके द्वारा उपयोग किए जा रहे के आधार पर), और यह आदेश नोड का नवीनतम संस्करण स्थापित करेगा।

उसके बाद, हो सकता है सिर्फ npm install -g [email protected] अपने before_script चरण में पहले कदम के रूप है (अर्थात NPM को अद्यतन करने के बारे में चिंता नहीं है), उम्मीद है कि इसका मतलब यह होना चाहिए कि बंडलर अभी भी ठीक से चलाता है और अपने सभी जवाहरात स्थापित करता है।

0

यदि परियोजना की भाषा रूबी है, तो ट्रैविस सीआई डिफ़ॉल्ट रूप से bundle install --jobs=3 --retry=3 चलाएगी।

यदि आप install चरण .travis.yml, the default will not execute in favor of the newly specified commands. में स्वयं को परिभाषित करते हैं तो यहां सोचने के लिए डिफ़ॉल्ट रूप से सैने जादू होना चाहिए जिसे आसानी से ओवरराइड किया जाना चाहिए।

  1. install चरण
  2. को bundle install --jobs=3 --retry=3 के रूप में जोड़ें @ocean ने सुझाव दिया before_install नोड प्रतिस्थापन टुकड़ा के शीर्षक का नाम बदलें:

    इस मुद्दे पर दो समाधान कर रहे हैं।

2

मुझे this article मिला जो मुझे थोड़ा सा मदद करता था।

लेख से प्रासंगिक जानकारी:

आप nvm उपयोग कर सकते हैं ट्रैविस में आप नोड संस्करणों का प्रबंधन करने के लिए, तथापि आप इसे पहले लागू करने की आवश्यकता:

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