Ho bisogno di aiuto con il flusso di lavoro più adatto alle nostre esigenze. Siamo una squadra di 3-4 persone e stiamo lavorando su 4 diversi progetti.
Abbiamo tre rami principali:
- master - ramo di produzione distribuibile
- staging - funzioni sotto controllo qualità su dati live
- dev - funzioni sotto controllo qualità sui dati di test
Quindi per ogni funzione, creiamo un ramo di funzionalità
Cosa ci serve:
- A volte vorremmo creare una versione (per molte funzionalità che hanno qualcosa in comune) e verrebbe distribuita alla fine del mese.
- A volte vorremmo implementare una funzione / modifica specifica (senza creare una versione). Questo è ciò che facciamo la maggior parte del tempo.
Ora per il flusso di lavoro:
- Inizio a lavorare su alcune funzionalità. Creo un ramo della funzione da dev.
- Finisco la mia funzione (con 30 commit).
- Sposto unisco la mia funzione in dev - quindi diventa solo un commit .
- La funzione viene distribuita automaticamente in un ambiente di test e QA verifica la mia funzione su dati di test .
- La funzione è stata testata OK, quindi seleziono il mio hash del commit della funzione su un ramo di gestione temporanea. La funzione viene distribuita automaticamente in un ambiente di staging e QA verifica la mia funzione su dati live .
- La funzione passa QA (test e staging) ed è selezionata per il master o per un ramo di rilascio, che verrà unito al master alla fine del mese.
Ecco una foto che spiega cosa ho in mente:
Tutto questo ha senso? C'è un modo migliore per raggiungere questo obiettivo? Grazie per il tuo tempo.