Automatizzazione dei rilasci software negli ambienti di Test, Quality Assurance e Production
Automatizzazione dei rilasci software negli ambienti di Test, Quality Assurance e Production
Margini di errore ridotti per un’azienda multinazionale grazie a moduli di Continuos Integration su piattaforma Jenkins
CLIENTE:
Importante multinazionale
L’esigenza
Il cliente aveva sviluppato nel corso degli anni un ampio ecosistema di software e, vista la moltitudine di tools e tecnologie differenti utilizzate per svilupparli, spendeva molto tempo e risorse nella fase di rilascio. Inoltre a seguito della procedura per ottenere una delle certificazione ISO aveva l’esigenza di implementare la “Segregation of Duties” che impone di tenere separate le mansioni e aree di responsabilità tra cui quelle di sviluppatori, deployer e tester.
La soluzione
Visto l’elevato numero di tool che dovevano essere distribuiti mediante il nuovo sistema automatico il lavoro di scrittura del codice è stato preceduto da una capillare fase di analisi che ci ha permesso di individuare tutte le criticità della successiva fase di sviluppo.
Abbiamo dovuto sviluppare jobs di varia natura capaci di deployare applicazioni anche a tecnologia mista. La scelta di Jenkins è stata ottimale per le sue caratteristiche di versatilità ma abbiamo comunque dovuto mettere in campo tutte le nostre abilità tecniche per riuscire ad automatizzare i rilasci delle applicazioni più complesse.
I vantaggi
Grazie all’introduzione del deployer il cliente ha riscontrato i seguenti vantaggi:
- ottimizzazione dei tempi di rilascio delle applicazioni. I precedenti rilasci manuali portavano con sé potenziali criticità a causa della complessità delle infrastrutture IT del cliente, con molteplicità di ambienti di rilascio, sistemi operativi di diverse tecnologie, ecc.. L’introduzione del deployer automatico ha permesso di analizzare e superare le criticità in fase di sviluppo dei jobs in modo da non lasciarle gestire ogni volta dall’operatore incaricato del rilascio.
- diminuzione del margine di errore sui rilasci. L’utilizzo dello strumento automatico di deploy ha standardizzato la gestione del versionamento dei software sul repository dei codici sorgenti imponendo i commit agli sviluppatori secondo regole ben precise.
La testimonianza
“Sfruttando la modularità di Jenkins abbiamo realizzato un sistema potente e, allo stesso tempo, semplice da utilizzare.
Il flusso di approvazione e distribuzione può essere gestito facilmente via email.
Con questa soluzione abbiamo consentito al cliente di standardizzare una grande quantità di processi riducendo drasticamente tempi ed errori.”
Francesco Frosini
Senior Software Architect
Kiwibit
La richiesta
- Automatizzazione dei rilasci dei software nei vari ambienti di test, QA e PROD
Il nostro contributo
- Analisi di fattibilità
- Sviluppo dei jobs di rilascio dei software
Tecnologie usate
- Jenkins
Risultati raggiunti
- Ottimizzazione dei tempi di rilascio delle applicazioni
- Diminuzione del margine di errore sui rilasci