3

J'utilise cruisecontrol.rb pour une intégration continue, et j'ai les réglages suivants dans cruise_config.rb. J'ai essayé de suivre cette blog post.Utiliser build_command avec CruiseControl.rb

Cependant, je n'arrive pas à exécuter 'my_build_script.sh'. Il démarre en exécutant 'bundle install'. Des idées?

+0

Je suis confus - avez-vous encore une question, ou êtes-vous content de commenter le code ci-dessus selon votre mise à jour? – mwolfetech

Répondre

1

Cruise vous permet de désactiver la bundle install automatique, via project.use_bundler = false. Voir le feature announcement.

Il est dommage que la valeur par défaut soit true, ce qui fait bundle install se comporter étrangement avec les gemsets rvm. Ils auraient dû activer la fonction opt-in au lieu d'automatique, vu que beaucoup de gens utilisent des gemsets rvm.

Apparemment, croisière utilisera le même GEM_HOME que le processus de croisière parent utilise. Si vous êtes en croisière sous Phusion Passenger, vous utiliserez le GEM_HOME là où la gemme passager est installée (je ne suis pas sûr que ce soit toujours un problème avec le passager 4).

2

En cruisecontrol.rb dans app/modèles/build.rb: 42

if @project.uses_bundler? 
execute self.bundle_install, :stdout => build_log_path, :stderr => build_log_path, :env => project.environment 
end 

Il est codé en dur pour exécuter Bundler d'abord s'il détecte un Gemfile, j'ai fait remarquer cela et a fait manuellement après la RVM gemset a été mis et ça a marché.

Voici une version en forme de fourche (changements massifs ui cependant) https://github.com/timoxley/cruisecontrol.rb

+0

Homme, merci beaucoup, vous économisez ma journée;) –

+0

Cruise vous permet de désactiver l'installation automatique du bundle, via 'project.use_bundler = false'. Voir [l'annonce originale] (http://comments.gmane.org/gmane.comp.lang.ruby.cruise-control.devel/288) – Kelvin