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
dev:release-management [2015/02/16 12:09] – Messi primi tre disegnetti warp10dev:release-management [2015/07/17 10:35] (current) – messe le funzinoalità di CD di orgin/stable origin/master 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. La funzionalità fondamentale del branch stable è il **continuous delivery in produzione**
-    - 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''. 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
-    - 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.1424088584.txt.gz · Last modified: 2015/02/16 12:09 by warp10