Ultimamente ho letto molto su vari processi di distribuzione di applicazioni Web utilizzando SVN o GIT, con l'obiettivo di ridisegnare il modo in cui attualmente distribuiamo il mio lavoro.
Come è il modo con molte versioni di Agile, si presume che tutto ciò che è impegnato su master o trunk sia pronto per la produzione. Sia GitHub che Etsy, link dicono che lavorano su questa base (sebbene Etsy effettivamente avere un ambiente di staging).
Questo processo presuppone che tutti i test di unità e CI siano stati eseguiti. Si eseguono i test localmente e su CI e quindi si esegue il commit to trunk. SO, a questo punto il tuo codice è tecnicamente sound.
Il tuo codice potrebbe essere tecnicamente corretto, ma i test utente / funzionali potrebbero portare alla luce altri bug, in particolare quando si tratta di test di front end.
La mia domanda è questa. Dove controllano i cambiamenti di funzionalità che hai implementato il QA e gli imprenditori? Sul tuo computer di sviluppo locale prima di eseguire il commit to trunk, o su un QA / staging machine?
Se si dispone di un sistema di gestione temporanea che funziona fuori dal trunk e si presuppone che tutto il codice impegnato per il trunk sia pronto per la produzione ... eh .. allora a che punto il codice è stato firmato e valido per la produzione da entrambi prospettiva tecnica e commerciale? Se si dispone di una sola macchina di gestione temporanea, molti sviluppatori e questo è il punto in cui il codice deve essere sottoposto a QA, allora come si può eseguire la distribuzione dal trunk in quanto molte modifiche degli sviluppatori possono attendere la disconnessione.
Sarei interessato a sapere in che modo gli altri si sono avvicinati a questo?