Both sides previous revisionPrevious revision | |
dev:release-management [2015/07/17 10:24] – typo e precisione dei tag feroda | dev:release-management [2015/07/17 10:35] (current) – messe le funzinoalità di CD di orgin/stable origin/master feroda |
---|
| |
Sul repo git di GF o degli altri software beFair (origin) ci sono due branch principali: | Sul repo git di GF o degli altri software beFair (origin) ci sono due branch principali: |
- **origin/stable** è il branch dove HEAD corrisponde sempre a codice pronto per il deploy in produzione. In altre parole, ogni commit ha superato tutti i test ed è deployable in produzione. Ogni merge viene taggato con un numero di versione. Se proprio ci fossero problemi, si può rollbackare al tag immediatamente precedente. | - **origin/stable** è il branch dove HEAD corrisponde sempre a codice pronto per il deploy in produzione. In altre parole, ogni commit ha superato tutti i test ed è deployable in produzione. Ogni merge viene taggato con un numero di versione. Se proprio ci fossero problemi, si può rollbackare al tag immediatamente precedente. La funzionalità fondamentale del branch stable è il **continuous delivery in produzione**. |
- Da origin/stable si brancha solo origin/master. | - Da origin/stable si brancha solo origin/master. |
- Su origin/stable si mergia solo da origin/master | - Su origin/stable si mergia solo da origin/master |
- Convenzione di naming per il -m dei commit: <numero_di_versione>, con, come detto, l'aggiunta di una tag con lo stesso nome. Usiamo http://semver.org come standard per il versionamento | - Convenzione di naming per il -m dei commit: <numero_di_versione>, con, come detto, l'aggiunta di una tag con lo stesso nome. Usiamo http://semver.org come standard per il versionamento |
- **origin/master** è il branch principale di sviluppo dove vengono mergiati tutti gli altri branch descritti sotto. E' anche usato per committare eventuali piccole modifiche necessarie per la release. In altre parole, è un ''integration branch'' ed anche ''release finalization branch''. | - **origin/master** è il branch principale di sviluppo dove vengono mergiati tutti gli altri branch descritti sotto. E' anche usato per committare eventuali piccole modifiche necessarie per la release. In altre parole, è un ''integration branch'' ed anche ''release finalization branch''. La funzionalità fondamentale del branch stable è il **continuous delivery in staging**. |
- Da origin/master si branchano tutti i branch descritti sotto | - Da origin/master si branchano tutti i branch descritti sotto |
- Su origin/master si mergia da tutti gli altri branch, escluso origin/stable | - Su origin/master si mergia da tutti gli altri branch, escluso origin/stable |