2010-10-06 30 views
0

J'essaie de configurer l'intégrité de mon projet. Malheureusement, mon bash-fu est pauvre alors j'ai besoin d'aide. Dans le script de génération, entrez rake spec. Dans l'intégrité retourne l'état 0 et la sortieProblème avec l'application d'application continue Integrity

(dans/home/rails/intégrité/builds/builds/66)

mais je sais que je devrais obtenu le statut 1 et la sortie (après l'exécution manuellement à partir de la console):

rails @ intégrité: ~/intégrité/construit/construit/66 $ spec râteau
(dans/home/rails/intégrité/builds/builds/66) râteau avorté! Aucun fichier ou répertoire - /home/rails/integrity/builds/builds/66/config/database.yml

(Voir trace complète en exécutant la tâche avec --trace)

I Ne créez pas database.yml, becouse Je voudrais afficher le message Integrity à ce sujet?

Pour moi, il semble qu'il a perdu le tuyau. Le script est en cours d'exécution ici: http://github.com/integrity/integrity/blob/v22/lib/integrity/builder.rb#L49 Pourriez-vous dire pourquoi rake spec dans l'intégrité renvoie 0?

Répondre

0

Vous devez avoir défini database.yml avant de pouvoir exécuter vos tests. Vous pouvez écrire un script de génération personnalisé qui le définira, puis exécuter le test. Quelque chose comme:

namespace :ci do 
    task :update_submodules do 
    system("git submodule update -i") 
    end 

    task :copy_yml do 
    system("cp /my/custom/config/path/database.yml.ci #{Rails.root}/config/database.yml") 
    end 

    desc "Prepare for CI and run entire test suite" 
    task :build => [:environment, 'ci:update_submodules', 'ci:copy_yml', 'spec', 'cucumber:ok'] do 
    end 

end 

Ensuite, mettez rake ci: build comme script de génération d'intégrité. Fondamentalement, ce script va copier un template database.yml avant de lancer les tests.