voglio iniziare a testare il codice JavaScript nelle mie applicazioni Rails con qUnit e mi chiedo come mantenere il test JavaScript e la pagina HTML di prova corridore sotto il controllo di versione (Sto usando Git, ovviamente) ma li tengo dal server di produzione quando distribuisco l'app con Capistrano. Il mio primo pensiero è di lasciare che Capistrano invii tutto il codice come al solito, inclusi i file di test, e scriva un'attività per eliminarli alla fine del processo di distribuzione. Questo sembra una sorta di trucco, però. Esiste un modo più semplice per dire a Capistrano di ignorare certe parti del repository durante la distribuzione?Esclusione di file da essere schierato con Capistrano mentre ancora sotto il controllo di versione con Git
risposta
A partire dal 30 agosto 2013, è sufficiente creare un file .gitattributes
e export-ignore
i file/le cartelle di propria scelta.
features/ export-ignore
spec/ export-ignore
Riferimento: https://github.com/capistrano/capistrano/pull/626
Si potrebbe avere le prove in un ramo di prova (su cui è unire il ramo principale prima di ogni prova)
In questo modo, quando si chiede Capistrano di distribuire ciò che è sulla vostra ramo principale, nessun test di qualsiasi tipo è mai incluso
Ci sono molti modi per farlo, è possibile mantenere i test in un ramo di test dell'app come suggerito da VonC, ma ciò significherebbe che si farebbero tutte le modifiche nel ramo principale e quindi si sincronizzeranno con il test ramo. (Non senza i suoi meriti, ma a volte un dolore)
È possibile utilizzare il file .gitignore alla directory.
Qualsiasi file che si aggiunge a questo non verrà aggiunto al repository. Dal momento che capistrano tira e invia solo dal tuo repository, non avere i file inclusi li terrà fuori dal tuo server di produzione.
Ultimo ma non meno importante, se si desidera che i file di test nel repository principale per il controllo di versione, è possibile aggiungere una ricetta per il vostro file di configurazione/deploy.rb .. qualcosa di simile:
desc "Remove Test Files"
task :remove_test_files , :roles => :web do
sudo %{rm -f #{current_path}/public/javascripts/testfile.js}
sudo %{rm -f #{current_path}/public/javascripts/anothertestfile.js}
end
after 'deploy:remove_test_files'
E specificare i file che si desidera rimuovere, rimuoveranno tutti i file desiderati durante la distribuzione. :)
Qualsiasi dei precedenti funzionerà. Scegli il metodo che funziona per te.
- 1. I file .class dovrebbero essere messi sotto controllo di versione?
- 2. Esclusione di file da git-diff
- 3. File Gettext .po sotto controllo di versione
- 4. xcodeproj sotto controllo versione
- 5. Git: come elencare tutti i file sotto controllo di versione insieme alla data dell'autore?
- 6. Cambia automaticamente il file di versione su commit con git
- 7. Il file stack.yaml deve essere controllato nel controllo della versione?
- 8. Quali file in un progetto Java Netbeans devono essere posti sotto controllo di versione?
- 9. Devo mettere i file pyc sotto controllo di versione?
- 10. Utilizzo di Git con il progetto CakePHP
- 11. Come posso scoprire a livello di codice se un file locale è sotto controllo di versione TFS mentre offline
- 12. La versione di rilascio C# ha ancora il file .pdb
- 13. override git da Xcode con versione homebrew
- 14. Esclusione dal progetto, problema di controllo origine
- 15. Quali tipi di file di Visual C++ devono essere impegnati per il controllo della versione?
- 16. Come incorporare gli aggiornamenti automatici di WordPress con Git come controllo di versione?
- 17. Versione dinamica da git con go get
- 18. repository git non riconosciuto durante l'implementazione di rails con capistrano
- 19. come file di versione SOLO localmente con git
- 20. Esclusione file per un ramo
- 21. distribuzione con capistrano con remote git repo ma senza git in esecuzione sul server di produzione
- 22. best practice per la memorizzazione di file non di origine sotto controllo di versione
- 23. Capistrano carica la directory .git
- 24. Controllo versione per coordinarsi con te stesso
- 25. Come funziona il controllo della versione con LabVIEW VI?
- 26. Trasferimenti di file Capistrano 3.0?
- 27. File da ignorare durante l'utilizzo di Visual Studio con Git
- 28. Distribuire progetto Web sotto controllo di versione GIT su hosting condiviso
- 29. Controllo della versione di Matlab Simulink con più sviluppatori
- 30. Controllo della versione con le migliori pratiche di Google Documenti?
non ho visto la tua risposta al momento. +1 – VonC
Grazie Von. Apprezzalo. –
@VonC & Dustin - Come raccomanderesti la gestione se i tuoi file cap sono nel tuo repository di distribuzione ma non li vuoi sul tuo server di produzione? Verrebbero distribuiti a releases/variable_directory_name – csi