my django vs rails presentation for webdebs monthly meetup
presentazione django e rails a confronto per il brain pirlo webdebs
video: http://vimeo.com/31081012
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.
La presentazione tenuta da Davide Del Vecchio e Nino Guarnacci in occasione del Codemotion a Roma del 5 marzo 2011 - http://www.codemotion.it/
Nato sotto gli auspici della GPL v.2 l'Open Jdk è il laboratorio per il futuro di Java : perchè dovreste usarlo, come attivare le caratteristiche più innovative e quali sono gli aspetti più interessanti non solo per la parte sound...
my django vs rails presentation for webdebs monthly meetup
presentazione django e rails a confronto per il brain pirlo webdebs
video: http://vimeo.com/31081012
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.
La presentazione tenuta da Davide Del Vecchio e Nino Guarnacci in occasione del Codemotion a Roma del 5 marzo 2011 - http://www.codemotion.it/
Nato sotto gli auspici della GPL v.2 l'Open Jdk è il laboratorio per il futuro di Java : perchè dovreste usarlo, come attivare le caratteristiche più innovative e quali sono gli aspetti più interessanti non solo per la parte sound...
Si parla dei principi del continuous integration secondo Martin Fowler. Si parte da un problema comune, che è quello di lavorare in tanti sugli stessi sorgenti e si vedono i principi che possono permetterci di lavorare nel modo più sereno possibile.
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?
Delphi & Dintorni Webinar - Diventa un mago del TestingMarco Breveglieri
Il Testing è una pratica sempre più preziosa e fondamentale nell'ambito dello sviluppo del software: si tratta di un passaggio fondamentale per ridurre il numero dei bug nel software e abilitare automatismi come la Continuous Integration e la Continuous Delivery. Se utilizzati in modo errato però, i test possono causare più problemi di quanti ne prevengano: è importante quindi conoscere le differenze tra le varie tipologie di test, quali sono le loro caratteristiche ideali e padroneggiarli al meglio. In questo webinar faremo luce sul Testing, chiariremo bene i concetti di Unit e Integration Test, vedremo come scriverli nel modo corretto e quali tool ci vengono in aiuto... alla fine il Testing non avrà più segreti!
L’approccio IT bimodale, capace di integrare stabilità e sicurezza da un lato e agilità e velocità dall’altro, si configura come soluzione sostenibile per innovare e trasformare il business senza rallentarlo.
Scopri come integrare approccio bimodale e DevOps, per risparmiare tempo, denaro, ridurre i rischi e ottimizzare le risorse.
Segui il webinar on-demand: https://youtu.be/hVJ2Yk6Fd9U
Gestire l’infrastruttura come se fosse codice, ha degli indubbi vantaggi, soprattutto in un team agile che ha più esperienze Dev piuttosto che Ops.
In questa sessione vi racconteremo la nostra esperienza, problemi, vantaggi e cosa abbiamo imparato.
Lo unified tooling è l’area di interesse DevOps che fonde pratiche di software development a quelle di system administration, con lo scopo di semplificare il processo di deployment di ambienti complessi. In questo talk vengono esposte le esperienze di un team di dev che è riuscito a gestire e replicare ambienti complessi, ricorrendo a strumenti e pratiche delle metodologie agili. Saranno evidenziati i vantaggi ottenuti e le problematiche riscontrate.
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
Si parla dei principi del continuous integration secondo Martin Fowler. Si parte da un problema comune, che è quello di lavorare in tanti sugli stessi sorgenti e si vedono i principi che possono permetterci di lavorare nel modo più sereno possibile.
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?
Delphi & Dintorni Webinar - Diventa un mago del TestingMarco Breveglieri
Il Testing è una pratica sempre più preziosa e fondamentale nell'ambito dello sviluppo del software: si tratta di un passaggio fondamentale per ridurre il numero dei bug nel software e abilitare automatismi come la Continuous Integration e la Continuous Delivery. Se utilizzati in modo errato però, i test possono causare più problemi di quanti ne prevengano: è importante quindi conoscere le differenze tra le varie tipologie di test, quali sono le loro caratteristiche ideali e padroneggiarli al meglio. In questo webinar faremo luce sul Testing, chiariremo bene i concetti di Unit e Integration Test, vedremo come scriverli nel modo corretto e quali tool ci vengono in aiuto... alla fine il Testing non avrà più segreti!
L’approccio IT bimodale, capace di integrare stabilità e sicurezza da un lato e agilità e velocità dall’altro, si configura come soluzione sostenibile per innovare e trasformare il business senza rallentarlo.
Scopri come integrare approccio bimodale e DevOps, per risparmiare tempo, denaro, ridurre i rischi e ottimizzare le risorse.
Segui il webinar on-demand: https://youtu.be/hVJ2Yk6Fd9U
Gestire l’infrastruttura come se fosse codice, ha degli indubbi vantaggi, soprattutto in un team agile che ha più esperienze Dev piuttosto che Ops.
In questa sessione vi racconteremo la nostra esperienza, problemi, vantaggi e cosa abbiamo imparato.
Lo unified tooling è l’area di interesse DevOps che fonde pratiche di software development a quelle di system administration, con lo scopo di semplificare il processo di deployment di ambienti complessi. In questo talk vengono esposte le esperienze di un team di dev che è riuscito a gestire e replicare ambienti complessi, ricorrendo a strumenti e pratiche delle metodologie agili. Saranno evidenziati i vantaggi ottenuti e le problematiche riscontrate.
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
1. CONTINUOUS INTEGRATION
Sam Reghenzi
http://sammyrulez.com
@sammyrulez
venerdì 10 giugno 2011
2. COSA E’
Un sistema volto a verificare in un determinato istante la
consistenza di una code base.
venerdì 10 giugno 2011
3. Source code
Repository
Check out
Build server Make
Tests
Metriche
FLUSSO FONDAMENTALE
venerdì 10 giugno 2011
4. PERCHÈ
Integrare continuamente i cambiamenti al codice eviterà ritardi
più avanti nel ciclo del progetto
venerdì 10 giugno 2011
5. PRACTICES OF CONTINUOUS
INTEGRATION
Single Source Repository
Mantenere un singolo repository per il codice di un artefatto.
Se lo stesso artefatto è presente su repository differenti
dovrebbe essere oggetto di diversi processi di integrazione
venerdì 10 giugno 2011
6. PRACTICES OF CONTINUOUS
INTEGRATION
Build automatiche
La build del progetto non deve essere condizionata da
conoscenze specifiche , individuali o infrastrutturali
Bundler Migrations Seed
Gems Fixture
venerdì 10 giugno 2011
7. PRACTICES OF CONTINUOUS
INTEGRATION
Build che integrino i test e metriche
I test garantiscono a vari livelli la stabilità dinamica e la
correttezza del software oggetto della build.
Le metriche innalzano il livello di qualità intrinseca e di
standardizzazione del codice.
venerdì 10 giugno 2011
8. PRACTICES OF CONTINUOUS
INTEGRATION
Tutti committino almeno una volta al giorno
Senza una code base aggiornata il processo di integrazione è
inutile.
Tempi lunghi di produzione di codice stabile possono essere
indicatori di un problema di processo.
venerdì 10 giugno 2011
10. KEEP BUILD FAST!
Il valore del processo di CI è dare feedback rapidamente
venerdì 10 giugno 2011
11. REPOSITORY PULL
• Fornisce un feedback più immediato
• Stimola il commit atomico
• Limita il desiderio di utilizzare l’SCM come area scambio file
venerdì 10 giugno 2011
12. EXTREME FEEDBACK
Funziona meglio dell’email e smorza lo stress
venerdì 10 giugno 2011
14. E INVECE STRUMENTI!
• Nessuno ( cron + script + rake )
• ContinuousBuilder
• Cerberus
• CruiseControl
• CruiseControl.rb
venerdì 10 giugno 2011
15. INTEGRITY
Pros Cons
• Leggero • In fase transitoria di sviluppo
• Facile • Supporta solo git
da configurare
• Supporto • Pochi punti di estensione
per git
venerdì 10 giugno 2011
16. TRAVIS
Pros Cons
• In the cloud • In fase iniziale di sviluppo
• Specfico per ruby • Supporta solo git
• Supporto per git • Pochi punti di estensione
venerdì 10 giugno 2011
17. JENKINS
Pros Cons
• Provata stabilità • Non leggero come i
• Estensibile
precedenti
• Supporta qualunque
tecnologia
venerdì 10 giugno 2011
18. SETUP
• Download & Install
• Aggiungere i plug-in necessari ( e anche quelli divertenti !)
• Creare un JOB
• Post commit hooks ( opzionale )
• Aggiungere i rake task per le metriche
venerdì 10 giugno 2011
20. CI_REPORTER GEM
namespace :hudson do
task :spec => ["hudson:setup:rspec", 'db:migrate', 'rake:spec']
namespace :setup do
task :pre_ci do
ENV["CI_REPORTS"] = 'hudson/reports/spec/'
gem 'ci_reporter'
require 'ci/reporter/rake/rspec'
end
task :rspec => [:pre_ci, "ci:setup:rspec"]
end
end
venerdì 10 giugno 2011
21. CONTINUOUS DEPLOYMENT
Cosa non è
•Deployare in produzione ad ogni commit
•Usare la produzione invece dell’ambiente di test
Cosa è
•Avere un ambiente allineato con le build
•Deployare in produzione automaticamente alcune build
venerdì 10 giugno 2011
22. CONTINUOUS DEPLOYMENT
• Continous Integration
• SCM sano
• Semplice sistema di deploy
• Ambiente replica della produzione per test funzionali
• Monitoring (!!!)
venerdì 10 giugno 2011
25. GRAZIE A TUTTI
Riferimenti
•5 steps http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html
• Martin Fowler http://martinfowler.com/articles/continuousIntegration.html
•Rails & Jenkins http://reprocessed.org/blog/easy_rails_ci_with_hudson
venerdì 10 giugno 2011