2017-06-29 1 views
0

Ich versuche eine CircleCI-Konfigurationsdatei zu erstellen, die nur einen bestimmten Satz von Edelsteinen über den Umgebungsparameter installiert. In diesem Fall nennen wir diese Umgebung continuous_integration und diese Umgebung entspricht der test Umgebung. Bisher habe ich eine Reihe von Dingen ausprobiert und dies ist meine aktuelle Konfiguration in diesem Spike.Installiere einen bestimmten Satz von Edelsteinen in einer CircleCI-Konfigurationsdatei

Kann mir jemand in die richtige Richtung zeigen? Ist das möglich?

machine: 
    timezone: 
    America/Los_Angeles 
    ruby: 
    version: 
     2.4.1 
    services: 
    - redis 
    environment: 
    RAILS_ENV: continous_integration 

database: 
    override: 
    - bundle exec RAILS_ENV=continous_integration rake db:drop 
    - bundle exec RAILS_ENV=continous_integration rake db:setup 

dependencies: 
    pre: 
    - gem install bundler 
    override: 
    - bundle install: 
     timeout: 180 
     environment: 
      RAILS_ENV: continous_integration 

test: 
    override: 
    - bundle exec RAILS_ENV=continous_integration rspec 
+0

Nun, ergeben, was das Problem ist An diesem Punkt? Funktioniert es überhaupt nicht? Funktioniert es nur für einige Befehle? Etwas anderes? – FelicianoTech

+0

@FelicianoTech Ich habe gerade eine aktualisierte Antwort geschrieben, Gedanken? –

Antwort

0

diese Lösung mit CIRCLE 1,0

Aus meiner aktuellen Forschung funktioniert nur hatte ich die continous_integration Umgebung zu überprüfen, war richtig eingerichtet gesamte Rails innerhalb der Geheimnisse, die Umgebungen Ordner, Edelsteine ​​usw. Als es stellt sich heraus, dass ich habe festgestellt, dass bundler verwendet nicht die ENV-Set, so dass ich mit der folgenden Konfiguration wissen, um die Edelsteine ​​Cache, beschleunigt den Build-Prozess zu erzwingen, und verwenden Sie die continous_integration Umgebung.

Referenzen

.rspec

--color 
--require spec_helper 
--format documentation 

.circle.yml

machine: 
    timezone: 
    America/Los_Angeles 
    ruby: 
    version: 
     2.4.1 
    services: 
    - redis 

dependencies: 
    pre: 
    - gem install bundler 
    - gem update bundler 
    override: 
    - bundle config without development:test 
    - bundle check --path=vendor/bundle || bundle install --without development test --path=vendor/bundle --jobs=4 --retry=3: 
     timeout: 180 

database: 
    override: 
    - RAILS_ENV=continous_integration bundle exec rake db:drop 
    - RAILS_ENV=continous_integration bundle exec rake db:setup 

test: 
    override: 
    - RAILS_ENV=continous_integration bundle exec rspec --format RspecJunitFormatter -o $CIRCLE_TEST_REPORTS/rspec.xml 
    post: 
    - gem install brakeman 
    - gem install rubocop 
    - gem install rubocop-rspec 
    - RAILS_ENV=continous_integration bundle exec rubocop --format fuubar --require rubocop-rspec --config .rubocop.yml 
    - RAILS_ENV=continous_integration brakeman -z 

Gemfile

group :development do 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
    gem 'spring-commands-rspec' 
    gem 'spring-commands-rubocop' 
end 

group :development, :test do 
    gem 'pry-rails' 
    gem 'pry-nav' 
    gem 'pry-clipboard' 
    gem 'pry-rescue' 
    gem 'table_print' 
    gem 'awesome_print' 
    gem 'guard-rake' 
    gem 'guard-rspec' 
end 

group :development, :test, :continous_integration do 
    gem 'brakeman', require: false 
    gem 'rubocop', require: false 
    gem 'rubocop-rspec', require: false 
    gem 'timecop' 
    gem 'mail_safe' 
    gem 'dotenv-rails' 
    gem 'factory_girl_rails' 
    gem 'faker', '~> 1.6.6' 
end 

group :test, :continous_integration do 
    gem 'simplecov' 
    gem 'database_cleaner' 
    gem 'rspec-rails' 
    gem 'json_spec' 
    gem 'json-schema' 
    gem 'json_matchers' 
    gem 'shoulda-matchers' 
    gem 'nyan-cat-formatter' 
    gem 'rspec_junit_formatter', '~> 0.3.0.pre6' 
    gem 'webmock' 
    gem 'vcr' 
end 

Dieses Setup wird die richtige Fehlerausgabe in der Kreis-CI zu

enter image description here

Verwandte Themen