Abbiamo iniziato a utilizzare Hudson, e il flusso di lavoro attuale è:Edificio Separato da Deployment con Hudson
cassa a livello locale> code> test eseguiti> aggiornamento> test eseguiti> impegnano
Piuttosto che polling, Hudson siede semplicemente lì finché non istanziamo una build. E poi:
cassa a livello locale> sceneggiatura Phing eseguire
Lo script Phing quindi:
svn export ultima revisione> test eseguiti (in caso di successo)> genera report ecc ..> comprime l'esportazione> SCP alla produzione server> .. fare magie per rendere il sito live ...
Che tutto funzioni bene e dandy, tuttavia non ci dà davvero la possibilità di alcun tipo di "controllo di qualità" del QA e ogni build crea il repo head revisione. Idealmente vorremmo Hudson effettuare il polling o l'uso post commettere ganci costruire ogni commit e:
cassa a livello locale> eseguire compito Phing per eseguire i test e in caso di successo, genera report ecc ..
quindi in grado di istanziare manualmente un distribuzione automatizzata (tramite attività Phing) a "staging QA o produzione da ogni build specifica.Tutti i commit verranno distribuiti al QA
Questo flusso di lavoro è possibile anche con Hudson, o avremo bisogno di per eseguire manualmente le attività di distribuzione di Phing dopo.
Ho finito per fare qualcosa di simile. Ho usato solo l'unico lavoro comunque. Io uso 3 parametri di costruzione, deploy (bool), ambiente (scelta) e revisione (testo). Ho quindi modificato i miei script Phing per fare solo distribuzioni se il parametro deploy è vero, nel qual caso distribuirà la revisione specificata nell'ambiente specificato. Per impostazione predefinita, la distribuzione è falsa, la revisione è fondamentale e l'ambiente è in fase di gestione temporanea. Ora, quando Hudson esegue il polling di svn, vede che il parametro deploy è falso e ignora le attività di distribuzione. – xzyfer
Voglio fare lo stesso, visto che sono nuovo in Jenkins/hudson, puoi fornire maggiori dettagli tecnici, se possibile? –
Dove lotti? Per prima cosa crea un lavoro di costruzione. Questo dovrebbe darti alcune mani sull'esperienza per porre domande più specifiche (che probabilmente dovrebbe essere la sua stessa domanda e non un commento a una risposta). –