Riccardo Tempesta - Strumenti di automazione in Magento 2

16

Transcript of Riccardo Tempesta - Strumenti di automazione in Magento 2

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

CHE COSA SIGNIFICA E A COSA SERVE?

ü Sviluppo costanteü Gestione dei conflittiü Gestione del versioningü Gestione dei team di sviluppoü Test unitü Reportistica

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

CHE COSA SIGNIFICA E A COSA SERVE?ü Sempre più progetti Magento vengono sviluppati sotto forma di rolling

release.ü I progetti richiedono team di lavoro composti da molti professionisti,

spesso distribuiti su diverse sedi.ü Sono necessari strumenti di mission control per i Project Manager.ü E’ presente un alto rischio di bug di regressione.ü C’è necessità di evitare conflitti di versione con più task concorrenti.

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

SCENARIO TIPO

Il cliente chiede di lavorare una funzione con pianificazione a lungo termine, ma chiede anche la flessibilità di intervento per piccoli task. Chiede inoltre di essere sempre aggiornato sullo stato di avanzamento del progetto.

Il team di sviluppo deve essere in grado di intervenire nei piccoli task senza andare in conflitto con i processi a lungo termine.

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

STRUMENTI NECESSARIü Strumenti di coordinamento del teamü Strumenti di versioningü Procedure di automazione di deployü Strumenti di reportisticaü Test unitü Alert automaticiü Strumenti diagnostici

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

TECNOLOGIE (OVVERO: I MAGNIFICI 5)

ü GIT | Versioningü GITLab | Strumenti CI/CD + Report PMü Ansible | Deployü Vagrant | Sviluppo localeü Test Unit Magento 2 | Verifica funzionamento

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

BEST PRACTICES GIT

ü 3 branch principaliü DEV | versione sviluppo su base comuneü QA | Quality Assesmentü Master | copia di produzione

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

BEST PRACTICES GIT

ü Gestione dei taskü Branch separati per ogni unità logicaü Branch sempre derivati da masterü Passaggio forzato in QA prima del rilascio in master.

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

BEST PRACTICES DEPLOY

ü Pubblicazione in QA o masterü Creare merge con commitü Merge request su GITLabü Code review se previstaü Deploy

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

BEST PRACTICES DEPLOY

ü Verifica del deployü Collegare test unit alla procedura di deployü Utilizzo delle funzioni CI di GITLab: web-hook, .gitlab-ci.yml

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

INTEGRITA’ DEL CODICE

ü Codice sotto versioningü Possibilità di verifica

ESEMPI

ü SUPEE-5344ü Code injection

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

MISSION CONTROL

Con GITLab, il project manager e il lead developer potranno rapidamente:ü Verificare eventuali conflittiü Verificare bug di regressioneü Avere un report delle modifiche

CONTINUOUS INTEGRATION & DEVELOPMENT IN MAGENTO 2

BUG DIAGNOSE

Funzioni di GIT bisect collegate alle test unit per verificare il momento esatto dell'introduzionedi un bug.Modello di funzionamento OK/KOmolto semplice.

CASE STUDY | PORTALI AREA D

GRAZIEPER L’ATTENZIONE