ancak Ototest ile testler için bu Gemfile (kısmi) ile RSpec, salatalık ve OtotestPlatformu özgü taşlar ı I üzerinde çalışıyorum raylar projede
gem 'rspec-rails'
gem 'cucumber-rails'
gem 'autotest-standalone'
gem 'autotest-rails-pure'
gem 'zentest-without-autotest'
desteği takılı i aksi takdirde bu mesajın Şimdi
$ autotest
loading autotest/cucumber_rails_rspec_rspec2
Error loading Autotest style autotest/cucumber_rails_rspec_rspec2 (no such file to load -- autotest/cucumber_rails_rspec_rspec2). Aborting.
bir Mac üzerinde geliştiriyorum ve kendinden test-homurtu ve kendinden test-fsevents mücevher etkinleştirmek istiyorum başarısız olur, ancak bundle exec autotest
yürütmek için ihtiyaç benim ~/.autotest
yılında bu satırları eklerseniz
require 'autotest/growl'
require 'autotest/fsevent'
sonra Gemfile karşılık gelen mücevher takmak gerekiyor ve her şey çalışıyor, ancak (Linux) benim CI sunucuda kurar kırar yerel için farklı Gemfile sürdürmek olmadan bu çözmek için nasıl
ve CI ortamları?
DÜZENLEME
: Ben Gemfile Hem yerel hem CI sunucuda çalışanif RUBY_PLATFORM.downcase.include?("darwin") # I'm on Mac
gem 'autotest-fsevent'
gem 'autotest-growl'
end
bu hatları ile çözüldü an için
, ben şu an için bunun olmadığını karışıklık şey bilmiyorum kusursuz çalışıyor gibi görünüyor.
Bunu yapmanın daha temiz bir yolu hala açıktır.
EDIT2:I gruplar çözeltiler geçti. Önceki monkeypatch geliştirme ve sürekli entegrasyon için oldukça iyi çalışıyor olsa da, dağıtımlar için capistrano bundler görevlerini kullanırsanız veya bundle install --deployment
seçeneğini kullanırsanız (üretimde önerilmektedir)
if RUBY_PLATFORM.downcase.include?("darwin")
satırında bu hatayı dağıtmak için alırsınız.
# bundle install --deployment --without development test
You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.
You have deleted from the Gemfile:
* autotest-fsevent
* autotest-growl
Yani bu sorunun benim son çözüm, belirli bir gruptaki platforma özel taşlar dahil etmektir, bu paket kullanılarak hariç osx ve sonra üretimde ve CI sunucuda söylüyorlar.
Eğer farklı Gemfile ortamlarda (test, geliştirme, üretim) yararlanarak bu işleyebilir senin config.rb
set :bundle_without, [:development, :test, :osx]
# capistrano bundler task
require "bundler/capistrano"
Ben bu konfigürasyonu kullanıyorum (https://github.com/fabn/rails-jenkins-template) ve bunu basit tutmak isterim, bu yüzden adım adımı ci gibi tutmak istiyorum. paket kurulumu gibi basit; komisyon spesifikasyonu; rake hıyarı. – Fabio
Bu konuda birçok arama yapıyorum ve şu anda bir çözüm yok. Bu yüzden cevabınızı doğru olarak kabul edeceğim. – Fabio