DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione



Documenti analoghi
Test e collaudo del software Continuous Integration and Testing

La strada per sviluppare più rapidamente: Unit Test & Continuous Integration

Strumenti di gestione del ciclo di vita del software

Eclipse e Subversion

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

CP Customer Portal. Sistema di gestione ticket unificato

Strumenti per la gestione della configurazione del software

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

Registratori di Cassa

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

MODULO PER LA GESTIONE DEI RESI

Documentazione illustrativa

PrometeoQualità. Manuale Documenti

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

VMware. Gestione dello shutdown con UPS MetaSystem

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Lite Standard Licenza supplementare. Professional Licenza supplementare Licenza Lite Standard Licenza supplementare

Software Gestionale per alberghi e strutture ricettive

ELENCO CLIENTI FORNITORI Patch1

Coordinazione Distribuita

File Server Resource Manager (FSRM)

Note di rilascio. Aggiornamento disponibile tramite Live Update a partire dal. Il supporto per Windows XP e Office 2003 è terminato

Manuale di Aggiornamento BOLLETTINO. Rel H2. DATALOG Soluzioni Integrate a 32 Bit

Business Intelligence

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

MANUALE PARCELLA FACILE PLUS INDICE

SurfCop. Informazioni sul prodotto

Ogni documento digitalizzato, carta attivo o passivo, viene di infatti accompagnato identità da una sorta di elettron


Guida di Pro Spam Remove

Configuration Management

S.I.I.P.A.L. Sistema Informativo Integrato Pubblica Amministrazione Locale

Manuale utente Volta Control

automazione impianti produzione calcestruzzo per alimentazione vibropresse e tubiere

Soluzioni Globali POTENTE SEMPLICE EFFICACE 10% 29% 25%

Creazione di una Azure Web App

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

OpenVAS - Open Source Vulnerability Scanner

RES USER MEETING. L automazione del ciclo di vita dei JCL

Guida Rapida di Syncronize Backup

Gestione Risorse Umane Web Work-flow Selezione

Presentazione della release 3.0

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

Come Installare SQL Server 2008 R2 Express Edition With Tools

Gestione documentale. Arxivar datasheet del Pag. 1

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

InteGrazIone con MICrosoFt DYnaMICs. mailup.com

Domande e risposte su Avira ProActiv Community

SOFTWARE. Aprendo il SW la prima schermata che appare è la seguente:

Presentazione del Sistema e dei moduli di ricerca

Release Note Aconex Release Pubblicato il 6 febbraio 2015 e aggiornato il 26 febbraio 2015 per coprire il periodo di release dal 15 febbraio

La tecnologia a supporto della corretta codifica della Scheda di Dimissione Ospedaliera

Ata_NiAg02. Modulo Gestione Agenti

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

WINDOWS: Istruzioni per l uso

Manuale di Aggiornamento BOLLETTINO. Rel H6. DATALOG Soluzioni Integrate a 32 Bit

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

I M P O S T A R E U N A C C O U N T D I P O S T A C O N M O Z I L L A T H U N D E R B I R D

Real Time Control (RTC): modalità di invio dei dati

THAIREPORT. Cordialmente. Matelica, lì 19/12/2007. Halley Informatica Area Web

Applicazione JobScheduler su DB SQL Milano, lì 14/09/2009

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Cos è la FatturaPA. Come creare una fattura elettronica con Fattura Facile (creazione del file XML)

NOVITA VERSIONE La soluzione CAD/CAM per il cablaggio elettrico

Meno rischi. Meno costi. Risultati migliori.

Configurare TPTP in Eclipse e testare un applicazione

Software LMV per la gestione degli strumenti

Gruppo Buffetti S.p.A. Via F. Antolisei Roma

Con SIGLA Green Pack vengono esaltate le caratteristiche di gestionale paperless

Alma Mater Studiorum Università di Bologna. Controllo di versione. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE / 18

La costruzione di un Portale

Lite Standard Licenza supplementare. supplementare Licenza Lite Standard Licenza supplementare

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Le fattispecie di riuso

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Un nuovo modo per fare analisi e generare documenti dinamici

Gestione Manutenzioni Immobiliari.

NEAL. Increase your Siebel productivity

JOB - Amministrazione del personale. La soluzione Sistemi per il professionista delle paghe.

Manuale di Aggiornamento BOLLETTINO. Rel D1. DATALOG Soluzioni Integrate a 32 Bit

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A.

Verifica Firma Digitale dei documenti

Servizi evoluti. 31/01/2013 Raffaele Garofalo 1

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

2.1 Configurare il Firewall di Windows

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

OLIDALMINE SISTEMI S.N.C. - via Buttaro 4/e Dalmine BG - Tel Fax info@olidalmine.it

Manuale d'uso del Connection Manager

MANUALE UTENTE Fiscali Free

Nuovo Order Manager per il software NobelProcera

Procedura Gestione Pratiche Sicurezza Cantiere

Le funzionalità. Il modulo EasyPolis

PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

Modifiche principali al programma Adobe Open Options NOVITÀ! DISPONIBILITÀ ESCLUSIVA DEL SOFTWARE ADOBE ACROBAT ELEMENTS

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Il modello di ottimizzazione SAM

Transcript:

DRUPAL CONTINUOUS INTEGRATION Parte I - Introduzione

La Continuous Integration è una pratica di sviluppo software nella quale i membri di un team integrano il proprio lavoro di frequente, spesso con cadenza almeno giornaliera, effettuando diverse integrazioni ogni giorno. Ogni integrazione è verificata da una build automatica e dai suoi test, in modo da diagnosticare gli errori di integrazioni il più velocemente possibile. Martin Fowler

BENEFICI automazione di task ripetitivi quali build, QA e deploy integrazioni piccole e frequenti ciclo di feedback veloce deploy tracciati ed effettuabili in qualsiasi momento

PROCESSO DI BUILD runs config logs FAIL developer commits revision control triggers CI server runs static analysis logs report runs logs SUCCESS unit tests deploy FAIL report log functional tests SUCCESS

TOOLS SCM: git, svn, cvs, CI SERVER: jenkins BUILD TOOL: phing DRUPAL AUTOMATION: drush DEPENDENCIES MANAGEMENT: drush make & composer DRUPAL CDD TOOLS: features & migrate TESTING: PHPUnit & Behat

DRUPAL - I Contrariamente a quanto accade quando si utilizzano framework tradizionali, con Drupal è complicato e laborioso ottenere e mantenere il ciclo di Continuous Integration a causa dell alto accoppiamento tra configurazione e dati all interno del database.

DRUPAL - II Per ovviare a questo problema, è necessario adottare una metodologia di lavoro sistematica e disciplinata, facendo ricorso a strumenti che permettano di trasformare la configurazione in codice, trattare agevolmente i contenuti ed aggiornare in maniera incrementale lo schema della base dati.

FLUSSO DI LAVORO - I Il flusso di lavoro di uno sviluppatore consiste, oltre che nell implementazione delle funzionalità richieste, anche nella corretta, precisa e completa esportazione di tutti gli elementi di configurazione necessari alla ricostruzione della funzionalità stessa.! Moduli chiave: Features e Strongarm.

FLUSSO DI LAVORO - II È spesso necessario approntare contenuti predefiniti che possono variare durante lo sviluppo ed essere ampliati una volta che il sito viene pubblicato. È dunque necessario procedere all implementazione tramite codice di tutte le procedure di importazione, al fine di poter gestire al meglio e replicare in qualsiasi momento ogni operazione.! Modulo chiave: Migrate.

FLUSSO DI LAVORO - III Una volta terminata un attività di sviluppo atomica quale un bugfix o la creazione di una nuova funzionalità, è necessario creare un commit ed inviarlo al repository principale in modo che possa essere integrato, testato e rilasciato in automatico sull ambiente di sviluppo.! Strumenti chiave: git/svn.

FLUSSO DI LAVORO - IV E buona pratica scrivere test automatici durante il processo di sviluppo al fine di verificare che il lavoro effettuato sia funzionante ed assicurarsi che future modifiche (specialmente se effettuate da altre persone) non ne compromettano la validità, creando regressioni e potenzialmente danni ai clienti o agli utenti.! Strumenti chiave: PHPUnit, Behat.

Q & A

ESERCIZI 1. Quali sono le ragioni principali per le quali è conveniente instaurare un sistema di Continuous Integration? 2. In quale punto del processo di build vengono eseguiti i test unitari ed in quale quelli funzionali? Per quale motivo? 3. Perché è importante scrivere test? 4. Quali benefici comporta l utilizzo di un sistema di controllo di versione del codice? 5. Per quale motivo Drupal è particolarmente complesso da portare nel processo di Continuous Integration? 6. Quali sono gli strumenti che permettono di superare i limiti intrinseci di Drupal in modo da poterlo portare sotto Continuous Integration?