Doc gestione branch/config
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Definizione configurazioni progetto
|
||||
|
||||
Il documento serve a definire come vada configurato il progetto ed il repo git per la gestione dell'intero ciclo CI/CD in modo che si possa compilare un processo di build gtramite Jenkinsfile coerente.
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [Definizione configurazioni progetto](#definizione-configurazioni-progetto)
|
||||
- [Scopo del documento](#scopo-del-documento)
|
||||
- [Configurazione GIT branches](#configurazione-git-branches)
|
||||
- [Configurazione Progetto](#configurazione-progetto)
|
||||
- [Configurazione Jenkinsfile](#configurazione-jenkinsfile)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## Scopo del documento
|
||||
|
||||
|
||||
L'obiettivo è avere delel build adatte ai seguenti target
|
||||
|
||||
- Build per testing preliminare su workstation di sviluppo
|
||||
- Build per staging locale (Ufficio) o remoto (cloud remoto)
|
||||
- Build per installer cliente sul "canale stabile"
|
||||
- Build per installer cliente sul "canale beta"
|
||||
|
||||
Tutto questo per semplificare le fasi di build, delivery, installaizone, configurazione e gestione (ordinaria e epr aggiornamento) dei programmi installati rpesso i vari clienti.
|
||||
|
||||
## Configurazione GIT branches
|
||||
|
||||
Per tutto quanto definito sono necessari al minimo i seguenti branches git:
|
||||
|
||||
Branch | Impiego
|
||||
---------|----------
|
||||
develop | pubblicazione versioni di sviluppo (NON ufficiali) dove fare convergere anche eventuali "mini branch per feature
|
||||
master | versione principale di riferimento ed ufficiale del progetto, viene installata in ambiente test UFFICIO
|
||||
stable | versione di riferimento ed ufficiale del progetto, da cui le installaizoni STABILI per i clienti
|
||||
beta | ramo pubblicazione versione di testing non ufficiale x clienti selezionati o su cui vada provata una versione/funzionalità preliminare
|
||||
|
||||
## Configurazione Progetto
|
||||
|
||||
Il progetto per poter funzionare dovrà avere almeno questo set di configurazioni
|
||||
|
||||
Configurazione | Impiego
|
||||
---------|----------
|
||||
Debug | Configurazione per debug LOCALE su workstation
|
||||
Release | Configurazione per testing SENZA debug LOCALE su workstation o installazione su servers ufficio
|
||||
Prod | Configurazione per INSTALL in produzione (con parametri standard del DB, che COMUNQUE vanno verificati con WinMerge)
|
||||
|
||||
Le configurazioni speciali dei clienti vanno
|
||||
|
||||
- se possibile spostate sul DB in tab config
|
||||
- se non possibile (es stringhe di connessione) in files .config esterni (e messi ove possibile in folder gerarchicamente superiori) per non doverle cambiare ad ogni install
|
||||
|
||||
## Configurazione Jenkinsfile
|
||||
|
||||
Nel Jenkinsfile si vanno a d unire le due configurazioni per implementare la logica seguente (definita secondo branch di pubblicazione)
|
||||
|
||||
Git Branch | Config | impiego
|
||||
---------|----------|---------
|
||||
develop | Release | pubblicazione codice, testing compilazione, versione NON ufficiale
|
||||
master | Release | pubblicazione codice, testing compilazione, installazione in ufficio
|
||||
stable | Prod | pubblicazione codice, testing compilazione, produzione installer versione UFFICIALE e STABILE
|
||||
beta | Prod | pubblicazione codice, testing compilazione, produzione installer versione di testing (beta)
|
||||
Binary file not shown.
Reference in New Issue
Block a user