Una user story non è completa finché non è nelle mani di chi la deve usare. Solo da lì inizia a produrre valore, sia esso economico o sia feedback. Che si tratti di master, preview o production, con l’automazione delle build si possono evitare operazioni ripetitive, complesse, risparmiare tempo, ottenere interessanti metriche sul codice, tutto al fine di arrivare a poter rilasciare ogni poche ore (o, se volete, ogni volta che la build è verde!). Farlo in modo frequente è possibile anche con Symfony2. Mettiamo in pratica con un esempio una delle 12 pratiche di Extreme Programming: continuous delivery e integration tra git, bash, Jenkins e strumenti deploy.
Apache Continuum Build, Test, and Releaseelliando dias
Wendy Smoak presented on Apache Continuum, an open source continuous integration and release management tool. She discussed how continuous integration helps developers integrate work frequently to catch errors early. Apache Continuum allows building, testing, and releasing projects with features like parallel and distributed builds, configurable environments, and release management. She demonstrated Continuum's capabilities and encouraged attendees to get involved by discussing features, coding, testing, or writing documentation.
Jenkins Made Easy - Jenkins User Conference 2015 at LondonNobuaki Ogawa
The document discusses how Jenkins can be used to enable continuous delivery, deployment, testing, and integration. It provides examples of how Jenkins integrates with tools for version control, bug tracking, build processes and testing. The key benefits of Jenkins are that it allows for automatic, less error-prone releases by executing complex operations with one click. Feedback is requested on how valuable the session on making Jenkins easy was.
In queste slide, presentate durante il Google Developer Group Dev Fest Mediterranean 2014 vi è una introduzione alla "Continuous integration" una pratica di sviluppo software dove i membri di un team integrano il loro lavoro frequentemente.Sono inoltre presentati alcuni tool integrabili in una "build" per misurare la qualità del codice PHP così da rispettare diverse metriche ed avere codice di qualità.
Una user story non è completa finché non è nelle mani di chi la deve usare. Solo da lì inizia a produrre valore, sia esso economico o sia feedback. Che si tratti di master, preview o production, con l’automazione delle build si possono evitare operazioni ripetitive, complesse, risparmiare tempo, ottenere interessanti metriche sul codice, tutto al fine di arrivare a poter rilasciare ogni poche ore (o, se volete, ogni volta che la build è verde!). Farlo in modo frequente è possibile anche con Symfony2. Mettiamo in pratica con un esempio una delle 12 pratiche di Extreme Programming: continuous delivery e integration tra git, bash, Jenkins e strumenti deploy.
Apache Continuum Build, Test, and Releaseelliando dias
Wendy Smoak presented on Apache Continuum, an open source continuous integration and release management tool. She discussed how continuous integration helps developers integrate work frequently to catch errors early. Apache Continuum allows building, testing, and releasing projects with features like parallel and distributed builds, configurable environments, and release management. She demonstrated Continuum's capabilities and encouraged attendees to get involved by discussing features, coding, testing, or writing documentation.
Jenkins Made Easy - Jenkins User Conference 2015 at LondonNobuaki Ogawa
The document discusses how Jenkins can be used to enable continuous delivery, deployment, testing, and integration. It provides examples of how Jenkins integrates with tools for version control, bug tracking, build processes and testing. The key benefits of Jenkins are that it allows for automatic, less error-prone releases by executing complex operations with one click. Feedback is requested on how valuable the session on making Jenkins easy was.
In queste slide, presentate durante il Google Developer Group Dev Fest Mediterranean 2014 vi è una introduzione alla "Continuous integration" una pratica di sviluppo software dove i membri di un team integrano il loro lavoro frequentemente.Sono inoltre presentati alcuni tool integrabili in una "build" per misurare la qualità del codice PHP così da rispettare diverse metriche ed avere codice di qualità.
CruiseControl.net in un progetto realeDotNetMarche
La Continuous Integration è una pratica di sviluppo fondamentale per migliorare la qualità del software: CruiseControl.NET è una suite open-source per gestire questo processo in modo trasparente al team di sviluppo. Il relatore mostrerà i vantaggi derivati dall'uso di tale metodologia in un caso pratico, ovvero nello sviluppo della piattaforma di blogging Subtext, di cui è membro del team di sviluppo, nonché Build Manager.
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
La continuous integration, ovvero un insieme di pratiche di sviluppo atte a rilasciare frequentemente le modifiche al nostro codice, può essere applicata anche a SQL Server. In questa sessione andremo a descrivere come mettere sotto controllo del codice sorgente i nostri database in un'ottica di teamwork e, successivamente, a capire come automatizzare il processo di test unitario al fine di prevenire regressioni e correggere quanto prima bug.
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
Per supportare al meglio gli sviluppi agili è necessario poter automatizzare le procedure di deploy. Grazie a TFS build possiamo sfruttare varie tecniche per automatizzare il deploy durante una build.
Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perché non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi così il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
CruiseControl.net in un progetto realeDotNetMarche
La Continuous Integration è una pratica di sviluppo fondamentale per migliorare la qualità del software: CruiseControl.NET è una suite open-source per gestire questo processo in modo trasparente al team di sviluppo. Il relatore mostrerà i vantaggi derivati dall'uso di tale metodologia in un caso pratico, ovvero nello sviluppo della piattaforma di blogging Subtext, di cui è membro del team di sviluppo, nonché Build Manager.
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
La continuous integration, ovvero un insieme di pratiche di sviluppo atte a rilasciare frequentemente le modifiche al nostro codice, può essere applicata anche a SQL Server. In questa sessione andremo a descrivere come mettere sotto controllo del codice sorgente i nostri database in un'ottica di teamwork e, successivamente, a capire come automatizzare il processo di test unitario al fine di prevenire regressioni e correggere quanto prima bug.
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
Per supportare al meglio gli sviluppi agili è necessario poter automatizzare le procedure di deploy. Grazie a TFS build possiamo sfruttare varie tecniche per automatizzare il deploy durante una build.
Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perché non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi così il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
TDD - Test Driven Development - Come scrivere un software migliore
Continuos Integration
1. Continuos Integration
Una pratica XP
Alessandro Ceseno
contact me, my website is:
www.alexceseno.it
Add me on Linkedin:
http://www.linkedin.com/in/alessandroceseno
2. Come rispondere al cambiamento...
Ogni “giorno”...
i requisiti
la tecnologia
il business
il design
la risposta è... Continuos Integration
3. CI
Continuos Integration è una pratica
dell’ eXtreme Programming
CI è realizzata:
● Continuos Integration Server
● Tools: Jenkins o Hudson
4. Implementazione del SW e CI
● Sviluppatore ha una copia locale del codice
● Source code management system
● Pratica agile ha come caratteristica il fatto
che il codice sviluppato abbia dei tests
automatici (ref. TDD)
5. Implementazione del SW e CI (2)
● build in locale (master e non master)
● anche test automatici nella build
6. ●
●
●
●
●
aggiornamento della copia locale
nuova build in locale
verifica build ok (anche i tests)
commit sul server di versionamento
nel caso di errori, risolvere tutti i problemi
prima del commit sul server
7. Continuos Integration Server
● deve avere accesso al repository del codice
● la macchina di integrazione effettua una
nuova build, se ha successo (anche i tests),
si ha l’implementazione della feature
effettuata
● la build è effettuata da un sw (Jenkins o
Hudson)
8. ● Nel caso in cui due sviluppatori hanno
effettuato il commit “contemporaneamente”, il
server di continuos integration avvertirà nel
caso di errori della build o tests.
9. ● Possibili problemi possono essere risolti
velocemente e avere di nuovo una build
funzionante.
● Il server di integrazione non dovrebbe avere
una build non funzionante per più di 24/48
ore.
10. Le pratiche di CI
● Avere un solo repository del codice
sorgente
● build automatizzata
● Includi i tests nella tua build
11. Le pratiche di CI (2)
● I commits devono essere consistenti e
frequenti: piccole funzionalità
implementate in modo incrementale
12. Le pratiche CI (3)
● Ciascun commit nel repository dovrebbe
essere seguito da una nuova build sulla
macchina di integrazione: Continuos
Integration Server
Avere una build funzionante di ambienti diversi consente di aver un
maggior controllo e consapevolezza del codice
13. Le pratiche CI (4)
● Mantieni veloce la build
● Ambiente di Test/Collaudo/Preproduzione
simile all’ambiente di produzione
● Semplicity (mantieni il processo
semplice)
14. Le pratiche CI (5)
● Comunicazione
● Il deployment deve essere automatizzato
15. I vantaggi di CI
● riduce gli errori e i rischi
● maggior conoscenza del codice da parte
di tutti i membri del team
● maggior velocità nel riconoscere e
risolvere i bugs
16. I vantaggi di CI (2)
● meno bugs cumulativi
● deployment frequenti
17. I vantaggi di CI (3)
● si amministra e si automatizza il
processo di build
● si integra il lavoro del singolo nel lavoro
del team
18. I vantaggi di CI (4)
● si hanno feedbacks sui cambiamenti di
codice, ma anche sui reports,
documenti...
● si diminuiscono radicalmente i problemi
di integrazione
19. Continuos Integration
Una pratica XP
Alessandro Ceseno
contact me, my website is:
www.alexceseno.it
Add me on Linkedin:
http://www.linkedin.com/in/alessandroceseno