Abbiamo qualcuno (chiamiamolo Ted) che è responsabile del test di nuove funzionalità e correzioni di bug.
Stiamo usando Git e GitHub . masterdovrebbe essere / è sempre distribuibile ed developmentè il punto in cui commettiamo / uniamo nuove funzionalità o correzioni di bug, ma solo dopo che sono stati testati da Ted.
Il progetto è in PHP.
Vorrei che il processo di test procedesse così:
- Uno sviluppatore vuole lavorare su una nuova funzionalità (diciamo la funzione / bug # 123 come documentato da Ted nel tracker dei problemi), quindi accede
origin/developmentaldevelopmentsuo repository locale e crea un nuovo ramo (diciamoissue-123) da lì. - Una volta che è soddisfatto del suo lavoro, si impegna e spinge il suo nuovo ramo
origin. - Ted si collega
test.ourproject.com/choose-branche vede un elenco dei ramioriginattivi e sceglie di accenderloissue-123(dovrebbe essere fattibile attraverso la pagina Web). Quindi continuatest.ourproject.com, mette alla prova l'applicazione web (è davvero spietato) e dopo alcuni avanti e indietro con lo sviluppatore, è soddisfatto della funzionalità. - Ted dice lo sviluppatore che può immettersi
issue-123sulladevelopmentonorigin. - Risciacqua e ripeti.
Per il terzo passo, potrei hackerare qualcosa che fa il lavoro (mostrare e cambiare i rami da una pagina specifica), ma sento che quello che ho descritto è un modello molto comune.
Quindi la mia domanda è: è un flusso di lavoro buono / sostenibile / sostenibile per le ramificazioni? Puoi eseguire il backup della tua risposta citando alcuni esempi di altri progetti che seguono questo flusso di lavoro?
issue-123riferisce al bug / funzione # 123 come Ted documenta ogni bug / nuova funzionalità sul nostro tracker di problemi.