SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Continuousintegration
Ricci Gian Maria alkampfer@nablasoft.com http://www.codewrecks.com http://blogs.ugidotnet.org/rgm
Ci eravamo lasciati la mattina  Dicendo che il segreto dei cicli di vita agili è un feedback frequente da parte del cliente. Questa necessità comporta rilasci frequenti del software Nascono alcune problematiche
Deploy document Documento che contiene dettagliate informazioni su ogni operazione manuale necessaria per il deploy
Integrazione continua Evitare l’integrationhell Per rilasci frequenti il software deve essere costantemente nello stato «deployabile» Bisogna verificare che le varie parti dialoghino bene e si integrino correttamente
Integrazione continua Per evitare problemi, l’integrazione deve essere fatta il più spesso possibile
TfsBuild Tfs possiede un sistema di integrazione continua chiamato Tfsbuild, scalabile e distribuito
Automatizzare il deploy Manutenere il documento di deploy è oneroso Effettuare il deploy manuale è oneroso La soluzione è integrare il deploy nel processo di integrazione continua
DEMO  Familiarizzare con Tfs Build e deploy
Tecniche disponibili mediante Tfs Customizzare lo script xaml di Tfs Build ed aggiungere le istruzioni di deploy Lo script dopo avere eseguito la build e verificato che i test passino effettua il deploy nell’ambiente di test
Demo Deploy durante la build
Tecniche disponibili mediante Tfs Realizzare script separati che effettuano il deploy prendendo i compilati da una drop folder. Eseguire gli script su macchine remote con PsExecdurante una build standard o con una build specifica
Demo	 Deploy con script separato
Ambienti di test Gestire ambienti di test è complesso Ambienti multipli contemporanei Hardware e simulazioni di configurazioni reali
Ambienti di test multipli Gestire ambienti di test multipli porta la sua complessità Conflitti di IP e nomi di macchine Necessità di configurare ogni ambiente di test da zero
Lab Management
Creazione di ambienti di test Gli ambienti di test vengono creati partendo da template preparati in Hyper-V e SCVMM
Network fence Il network fence permette di «isolare» un ambiente di test dall’esterno in modo da non avere conflitti Questo permette di avere più ambienti di test contemporanei
Demo Creazione di un ambiente virtuale
Deploy mediante TFS Build Lab Management permette il deploy di ambienti virtuali automatizzando Hyper-V tramite SCVMM Si ha il controllo sugli snapshot delle macchine virtuali dove si effettua il deploy
Demo Tfs Lab Management Build e deploy in ambienti virtuali

Weitere ähnliche Inhalte

Ähnlich wie Integrazione continua e Deploy automatizzato

Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudSonia Pepe
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesGian Maria Ricci
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaXPeppers
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentalsmvetro
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOpsdotnetcode
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOpsdotnetcode
 
Infrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsInfrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsPietro Ciotola
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceAntonio Musarra
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
 

Ähnlich wie Integrazione continua e Deploy automatizzato (20)

Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Continuos Integration
Continuos IntegrationContinuos Integration
Continuos Integration
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web Sites
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Hardware e plugin
Hardware e pluginHardware e plugin
Hardware e plugin
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastruttura
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Infrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsInfrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOps
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
Tesi di Laurea
Tesi di LaureaTesi di Laurea
Tesi di Laurea
 

Mehr von Gian Maria Ricci

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoGian Maria Ricci
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGian Maria Ricci
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitGian Maria Ricci
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsGian Maria Ricci
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGian Maria Ricci
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesGian Maria Ricci
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yamlGian Maria Ricci
 
Git gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGit gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGian Maria Ricci
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNextGian Maria Ricci
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSCGian Maria Ricci
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insightsGian Maria Ricci
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source controlGian Maria Ricci
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio OnlineGian Maria Ricci
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectGian Maria Ricci
 

Mehr von Gian Maria Ricci (20)

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorando
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a Git
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOps
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devops
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelines
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yaml
 
Git gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGit gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teams
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNext
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insights
 
Git branching model
Git branching modelGit branching model
Git branching model
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source control
 
Branch model in Git
Branch model in GitBranch model in Git
Branch model in Git
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio Online
 
Git si o Git No
Git si o Git NoGit si o Git No
Git si o Git No
 
Testing
TestingTesting
Testing
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team Project
 
Git Perchè Usarlo
Git Perchè UsarloGit Perchè Usarlo
Git Perchè Usarlo
 

Integrazione continua e Deploy automatizzato

  • 2. Ricci Gian Maria alkampfer@nablasoft.com http://www.codewrecks.com http://blogs.ugidotnet.org/rgm
  • 3. Ci eravamo lasciati la mattina  Dicendo che il segreto dei cicli di vita agili è un feedback frequente da parte del cliente. Questa necessità comporta rilasci frequenti del software Nascono alcune problematiche
  • 4. Deploy document Documento che contiene dettagliate informazioni su ogni operazione manuale necessaria per il deploy
  • 5. Integrazione continua Evitare l’integrationhell Per rilasci frequenti il software deve essere costantemente nello stato «deployabile» Bisogna verificare che le varie parti dialoghino bene e si integrino correttamente
  • 6. Integrazione continua Per evitare problemi, l’integrazione deve essere fatta il più spesso possibile
  • 7. TfsBuild Tfs possiede un sistema di integrazione continua chiamato Tfsbuild, scalabile e distribuito
  • 8. Automatizzare il deploy Manutenere il documento di deploy è oneroso Effettuare il deploy manuale è oneroso La soluzione è integrare il deploy nel processo di integrazione continua
  • 9. DEMO Familiarizzare con Tfs Build e deploy
  • 10. Tecniche disponibili mediante Tfs Customizzare lo script xaml di Tfs Build ed aggiungere le istruzioni di deploy Lo script dopo avere eseguito la build e verificato che i test passino effettua il deploy nell’ambiente di test
  • 12. Tecniche disponibili mediante Tfs Realizzare script separati che effettuano il deploy prendendo i compilati da una drop folder. Eseguire gli script su macchine remote con PsExecdurante una build standard o con una build specifica
  • 13. Demo Deploy con script separato
  • 14. Ambienti di test Gestire ambienti di test è complesso Ambienti multipli contemporanei Hardware e simulazioni di configurazioni reali
  • 15. Ambienti di test multipli Gestire ambienti di test multipli porta la sua complessità Conflitti di IP e nomi di macchine Necessità di configurare ogni ambiente di test da zero
  • 17. Creazione di ambienti di test Gli ambienti di test vengono creati partendo da template preparati in Hyper-V e SCVMM
  • 18. Network fence Il network fence permette di «isolare» un ambiente di test dall’esterno in modo da non avere conflitti Questo permette di avere più ambienti di test contemporanei
  • 19. Demo Creazione di un ambiente virtuale
  • 20. Deploy mediante TFS Build Lab Management permette il deploy di ambienti virtuali automatizzando Hyper-V tramite SCVMM Si ha il controllo sugli snapshot delle macchine virtuali dove si effettua il deploy
  • 21. Demo Tfs Lab Management Build e deploy in ambienti virtuali