User Tools

Site Tools


dev:release-management

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
dev:release-management [2015/02/16 12:09] – Messi primi tre disegnetti warp10dev:release-management [2015/07/17 10:24] – typo e precisione dei tag feroda
Line 1: Line 1:
 +//FIXME: nelle figure il naming origin/prod = origin/stable//
 +
 ====== Sviluppo e gestione release ====== ====== Sviluppo e gestione release ======
  
Line 7: Line 9:
  
 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/prod** è 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. In caso di problemi, si può rollbackare al commit 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. 
-    - Da origin/prod si brancha solo origin/master. +    - Da origin/stable si brancha solo origin/master. 
-    - Su origin/prod 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 l'aggiunta di una tag con lo stesso nome. Usiamo 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''.
     - Da origin/master si branchano tutti i branch descritti sotto     - Da origin/master si branchano tutti i branch descritti sotto
-    - Da origin/master si mergia da tutti gli altri branch, escluso origin/prod+    - Su origin/master si mergia da tutti gli altri branch, escluso origin/stable
  
 {{:dev:main-branches.png?200|}} {{:dev:main-branches.png?200|}}
Line 21: Line 23:
     - Si brancha da origin/master     - Si brancha da origin/master
     - Si mergia su origin/master usando sempre e soltanto --no-ff (lo so, lo so, ma qui ha molti più pro che contro)     - Si mergia su origin/master usando sempre e soltanto --no-ff (lo so, lo so, ma qui ha molti più pro che contro)
-    - Convenzione di naming: feature-<nome_descrittivo_della_feature>+    - Convenzione di naming: ''feature-<nome_descrittivo_della_feature>''
  
 {{:dev:feature-branches2.png?200|}} {{:dev:feature-branches2.png?200|}}
  
-  - **Bugfix branch**: identici ai feature branch, ma destinati a fixare bug di codice non ancora mergiato in origin/prod +  - **Bugfix branch**: identici ai feature branch, ma destinati a fixare bug di codice non ancora mergiato in ''origin/stable'' 
-    - Convenzione di naming: bugfix-<numero_bug> +    - Convenzione di naming: ''bugfix-<numero_bug>''
- +
  
   - **Hotfix branch**: è dove si fixano bug severi del codice già andato in produzione.   - **Hotfix branch**: è dove si fixano bug severi del codice già andato in produzione.
-    - Si brancha da origin/prod +    - Si brancha da ''origin/stable'' 
-    - Si mergia su origin/prod e origin/master con --no-ff +    - Si mergia su ''origin/stable'' ''origin/master'' con --no-ff 
-    - Convenzione di naming: hotfix-<versione> con il field PATCH aumentato di 1+    - Convenzione di naming: ''hotfix-<versione>'' con il field PATCH aumentato di 1
  
 {{:dev:main-branches.png?200|}} {{:dev:main-branches.png?200|}}
dev/release-management.txt · Last modified: 2015/07/17 10:35 by feroda