2015-05-29 10 views
5

Ich versuche eine kontinuierliche Integration mit Codeship einzurichten. Unser Projekt ist eine Rails API mit einer eckigen App, die sich momentan im Verzeichnis public befindet. Um zu arbeiten, muss Grunt kompass ausführbares finden.Codeship zum Grunzen mit Kompass

ich, dass das Setup-Befehle sein sollte sagen würde:

rvm use 2.1.3 --install 
bundle install 
export RAILS_ENV=test 
bundle exec rake db:schema:load 
bundle exec rake db:migrate 
bundle exec rake db:test:prepare 
# We need compass in frontend 
gem install compass 
nvm install 0.10.25 
nvm use 0.10.25 
npm install 
npm install -g grunt-cli 

Und die Test-Pipeline:

bundle exec rspec 
cd public && grunt test 

Es scheint jedoch, dass codeship nicht gem install compass Linie mag und es beschwert sich mit:

Running "concurrent:test" (concurrent) task Warning: /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources 

(Bundler::GemNotFound) from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/spec_set.rb:85:in `map!' 
from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/spec_set.rb:85:in `materialize' 
from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/definition.rb:132:in `specs' from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/definition.rb:177:in `specs_for' from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler/runtime.rb:13:in `setup' 
from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler.rb:129:in `setup' from /home/rof/.rvm/gems/ruby-2.1.3/gems/bundler-1.9.4/lib/bundler.rb:134:in `require' 
from /home/rof/.rvm/gems/ruby-2.1.3/gems/compass-1.0.3/bin/compass:26:in `<top (required)>' 
from /home/rof/.rvm/gems/ruby-2.1.3/bin/compass:23:in `load' 
from /home/rof/.rvm/gems/ruby-2.1.3/bin/compass:23:in `<main>' 
from /home/rof/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `eval' 
from /home/rof/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `<main>' 
Use --force to continue. 

Und es gibt mir einen Hinweis, ich bin mir nicht sicher zu verstehen:

Please make sure the gem wasn't yanked from http://www.rubygems.org 

Wenn ich jedoch gem install compass Linie entfernen und stattdessen ich hinzufügen compass meiner Rails app Gemfile, es funktioniert. Aber ich fühle mich wirklich hässlich und schlecht, wenn ich meinem Gemfile einen Kompass hinzufüge. Das hat damit nichts zu tun. Meine Rails-App ist eine REST-API, so dass sie nichts über Kompass, CSS oder ähnliches wissen möchte.

Danke. heute

+0

Haben Sie eine Lösung für dieses Problem finden? Ich habe das gleiche Problem mit Codeship –

+0

Nein, es funktioniert nicht, noch :( –

Antwort

2

Ich hatte das gleiche Problem, und das ist, wie ich es gelöst:

Ich bearbeitete die Setup-Befehle auf Projekteinstellungen> Test. Auf diese Weise können Sie den Befehl gem install compass ausführen, bevor Sie die Grunt-Task (s) ausführen. Diese

ist, wie es aussieht: Setup Commands screenshot

Ich hoffe, das funktioniert für Sie zu

+0

Danke für Ihre Antwort ... aber ich habe das bereits als Setup-Befehl ohne Erfolg ... –