Git e le fondamenta della Continuos Delivery

Git è sicuramente il miglior amico di un programmatore come solo un strumento essenziale ed esaustivo può esserlo.

Usato per tener traccia delle modifiche al codice prima e potente strumento di condivisione dopo, vediamo in questo articolo in che modo entra nel mondo della continuos delivery,

Il tuo migliore alleato nella Continuos Delivery

Partiamo dalla considerazione che ogni cosa che è necessaria alla build, al deploy, ai test e alla release dell’applicazione dovrebbe essere conservato in un sistema di versionamento.

Un elenco non esaustivo di cosa dovrebbe essere versionato:

  • Script di test
  • Test automatici
  • Librerie
  • Librerie esterne
  • Script di creazione database
  • Script di configurazione
  • script di inizializzazione
  • Codice dell’applicazione (naturalmente)
  • Documentazione tecnica
  • Documentazione dei requisiti

Tutte queste cose, ed altre, dovrebbero essere conservate in un sistema di versionamento e le versioni principali dovrebbero essere identificabili in modo semplice.

Perché tutto questo?

Perché rende possibile per un nuovo sviluppatore che entra a far parte del team sedersi ad una postazione e con un singolo comando (o pochi comandi) generare l’ambiente di sviluppo completo delle infrastrutture necessarie all’applicazione e l’applicazione stessa.

Quindi un ridotto costo di onboarding.

Non solo, attraverso le versioni si è sempre certi non solo dello stato dell’applicazione ma anche dell’infrastruttura e di conseguenza è facile passare da una versione all’altra con pochi passaggi (se non proprio un singolo passaggio).

Quindi un ridotto costo di gestione del ciclo di sviluppo/deploy.

Questo vuol dire avere un sistema sempre attivo che consegna valore agli utenti finali.

In questi tempi altamente mutevoli, che premiano le aziende che maggiormente sono in grado di raccogliere i feedback dei clienti, privarsi di un sistema che velocemente porta in contatto il prodotto con il cliente è sicuramente una scelta tattica e strategica sbagliata.

Costruire quindi un sistema di Continuos Integration / Continuos Delivery efficiente ed efficace potrebbe essere l’unica scelta se si vuole continuare a competere.

Le fondamenta di tutto è integrare un sistema di versionamento: Git è il vostro migliore alleato.