SlideShare a Scribd company logo
1
Gaetano Paternò
tanopaterno@gmail.com
@tanopaterno
Continuos Integration for Xamarin
with Visual Studio Team Services
Overview
• E’ comune per gli sviluppatori di lavorare in
parallelo a progetti software.
Ad un certo punto, è necessario integrare tutti
questi flussi di lavoro paralleli in una base.
• Continuous Integration (CI) ci aiuta ad evitare le
complessità di integrazione attraverso la fusione
dei cambiamenti, apportati al codice da ogni
sviluppatore, su una base code comune continua.
• Ciò risulta in una base di codice coeso e stabile.
Components
• Version Control
Consolida tutto il codice di un
progetto in un unico repository
condiviso e mantiene una
cronologia completa di tutte le
modifiche apportate ai file.
• Continuous Integration Server
Il CI è responsabile della raccolta
tutti i manufatti di un progetto
(codice sorgente, immagini, video,
database, test automatizzati, etc.),
della compilazione
dell'applicazione e dell'esecuzione
dei test automatizzati.
CI Flow
• Ogni sviluppatore mantiene una copia del
codice sorgente sulla propria macchina.
• Una volta che le modifiche sono pronte,
vengono “committate” sul repository
centrale, così che possano essere
condivise con il resto del team.
• Si parla di unit test in quanto le funzionalità del
programma vengono scomposte in
comportamenti che possono essere testati come
singole unità.
• È possibile generare rapidamente progetti di test
e metodi di test dal codice oppure creare
manualmente i test necessari.
• Con lo sviluppo basato su test, gli unit test
vengono creati prima di scrivere il codice e
quindi vengono usati sia come
documentazione di progettazione
sia come specifiche funzionali.
Unit Test
Version Control
Visual Studio Team Service
and Team Foundation Server
Git
SVN
Components
Continuous Integration
Visual Studio Team Service
and Team Foundation Server
Visual Studio Team Services
and Jenkins
Git And Jenkins
• Visual Studio Team Services (VSTS) e Team
Foundation Server (TFS) sono gli strumenti di
Microsoft per la continuous integration, il
monitoraggio delle attività, la pianificazione Agile
e include strumenti di reporting e di controllo delle
versioni.
• VSTS fornisce servizi via cloud.
Non richiede hardware o infrastrutture dedicate e
si può accedere da qualsiasi luogo attraverso i
browser.
• TFS è progettato per server Windows locali e vi si
accede attraverso una rete locale o una
connessione VPN.
VSTS and TFS
• Utilizzare l'IDE di vostro gradimento
sfruttando il plug-in per Eclipse,
IntelliJ, Android Studio, Visual Studio,
Visual Studio Code e altro ancora.
• Sviluppare in Java, C #, PHP o
qualsiasi altro linguaggio moderno e
costruire per applicazioni per Linux,
Mac, Windows, iOS e Android.
VSTS and TFS
DEMO
Extensions
• Supporto per app Android,
Cordova, iOS, OS X, Unity,
Windows e Xamarin
• Report sugli arresti anomali, live e
affidabili
• Commenti e suggerimenti in app
da utenti reali
• SDK open source in grado di
riconoscere il codice in esecuzione
nelle tue app
• Integrazione con la soluzione di
gestione degli elementi di lavoro e
il sistema di compilazione esistenti
HockeyApp
Xamarin Test Cloud
DEMO
Extended CI
Domande?

More Related Content

What's hot

Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Emerasoft, solutions to collaborate
 
CI/CD - Presentazione Introduttiva
CI/CD - Presentazione IntroduttivaCI/CD - Presentazione Introduttiva
CI/CD - Presentazione Introduttiva
Matteo Di Carlo
 
Continuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clicContinuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clic
Michele Ferracin
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
dotnetcode
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
dotnetcode
 
Azure dev ops meetup one
Azure dev ops meetup oneAzure dev ops meetup one
Azure dev ops meetup one
Nicolò Carandini
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
Alessio Iafrate
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
LARUS Business Automation
 
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Codemotion
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Codemotion
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure Function
Luca Congiu
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del SoftwareYeser Rema
 
Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018
Yefry Figueroa
 
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Andrea Cirioni
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastruttura
XPeppers
 
DevOps Jump Start
DevOps Jump StartDevOps Jump Start
DevOps Jump Start
Felice Pescatore
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
dotnetcode
 

What's hot (17)

Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
 
CI/CD - Presentazione Introduttiva
CI/CD - Presentazione IntroduttivaCI/CD - Presentazione Introduttiva
CI/CD - Presentazione Introduttiva
 
Continuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clicContinuous Delivery da zero a rilascio con un clic
Continuous Delivery da zero a rilascio con un clic
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Azure dev ops meetup one
Azure dev ops meetup oneAzure dev ops meetup one
Azure dev ops meetup one
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
 
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure Function
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del Software
 
Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018
 
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
 
Agileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastrutturaAgileday2013 pratiche agili applicate all'infrastruttura
Agileday2013 pratiche agili applicate all'infrastruttura
 
DevOps Jump Start
DevOps Jump StartDevOps Jump Start
DevOps Jump Start
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 

Viewers also liked

Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
Valentin Jacquemin
 
Continuos integration patterns
Continuos integration patternsContinuos integration patterns
Continuos integration patterns
Vikas Gupta
 
2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale
John Micco
 
Apache ANT vs Apache Maven
Apache ANT vs Apache MavenApache ANT vs Apache Maven
Apache ANT vs Apache Maven
Mudit Gupta
 
Linux commands and file structure
Linux commands and file structureLinux commands and file structure
Linux commands and file structure
Sreenatha Reddy K R
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
DevOps
DevOpsDevOps

Viewers also liked (7)

Maven 2 Introduction
Maven 2 IntroductionMaven 2 Introduction
Maven 2 Introduction
 
Continuos integration patterns
Continuos integration patternsContinuos integration patterns
Continuos integration patterns
 
2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale2016 04-25 continuous integration at google scale
2016 04-25 continuous integration at google scale
 
Apache ANT vs Apache Maven
Apache ANT vs Apache MavenApache ANT vs Apache Maven
Apache ANT vs Apache Maven
 
Linux commands and file structure
Linux commands and file structureLinux commands and file structure
Linux commands and file structure
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
DevOps
DevOpsDevOps
DevOps
 

Similar to GdG DevFestMed 2016 - 06/11/2016

Continuos Integration
Continuos IntegrationContinuos Integration
Continuos Integration
Alessandro Ceseno
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
Daniele Mondello
 
Service Fabric: la potenza dei micro servizi
Service Fabric:  la potenza dei micro serviziService Fabric:  la potenza dei micro servizi
Service Fabric: la potenza dei micro servizi
Massimo Bonanni
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
dotnetcode
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
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
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
Davide Benvegnù
 
Azure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET FrameworkAzure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET Framework
Nicolò Carandini
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
Antonio Di Motta
 
Continuous Integration con Visual Studio Online
Continuous Integration con Visual Studio OnlineContinuous Integration con Visual Studio Online
Continuous Integration con Visual Studio Online
Davide Benvegnù
 
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Pipeline Srl
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
Florence Consulting
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Andrea Dottor
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Luca Zulian
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
Andrea Dottor
 
Androidsdk appinventor
Androidsdk appinventorAndroidsdk appinventor
Androidsdk appinventor
fdizazzo
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
 
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto PalmarinWSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
Profesia Srl, Lynx Group
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
Bergamo Linux Users Group
 
Develer - Qt Embedded - Intro
Develer - Qt Embedded - IntroDeveler - Qt Embedded - Intro
Develer - Qt Embedded - Intro
Francesco Pallanti
 

Similar to GdG DevFestMed 2016 - 06/11/2016 (20)

Continuos Integration
Continuos IntegrationContinuos Integration
Continuos Integration
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Service Fabric: la potenza dei micro servizi
Service Fabric:  la potenza dei micro serviziService Fabric:  la potenza dei micro servizi
Service Fabric: la potenza dei micro servizi
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
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...
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Azure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET FrameworkAzure Mobile Services con il .NET Framework
Azure Mobile Services con il .NET Framework
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
 
Continuous Integration con Visual Studio Online
Continuous Integration con Visual Studio OnlineContinuous Integration con Visual Studio Online
Continuous Integration con Visual Studio Online
 
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Androidsdk appinventor
Androidsdk appinventorAndroidsdk appinventor
Androidsdk appinventor
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto PalmarinWSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
WSO2 Oxygenate Italy 2022 Raiffeisen Information Service. Roberto Palmarin
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
 
Develer - Qt Embedded - Intro
Develer - Qt Embedded - IntroDeveler - Qt Embedded - Intro
Develer - Qt Embedded - Intro
 

More from Gaetano Paternò

Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
Gaetano Paternò
 
Google IO Catania - 20/05/2016
Google IO Catania - 20/05/2016Google IO Catania - 20/05/2016
Google IO Catania - 20/05/2016
Gaetano Paternò
 
OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016
Gaetano Paternò
 
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Gaetano Paternò
 
Hour of Code - 13/01/2016
Hour of Code - 13/01/2016Hour of Code - 13/01/2016
Hour of Code - 13/01/2016
Gaetano Paternò
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015
Gaetano Paternò
 
Unofficial Xamarin Day DomusDotNet
Unofficial Xamarin Day DomusDotNetUnofficial Xamarin Day DomusDotNet
Unofficial Xamarin Day DomusDotNet
Gaetano Paternò
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows Bridge
Gaetano Paternò
 

More from Gaetano Paternò (8)

Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
Improve mobile development with Visual Studio 2017 for Mac & Visual Studio Te...
 
Google IO Catania - 20/05/2016
Google IO Catania - 20/05/2016Google IO Catania - 20/05/2016
Google IO Catania - 20/05/2016
 
OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016OpenDay 3 TIM WCap - 05/05/2016
OpenDay 3 TIM WCap - 05/05/2016
 
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
 
Hour of Code - 13/01/2016
Hour of Code - 13/01/2016Hour of Code - 13/01/2016
Hour of Code - 13/01/2016
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015
 
Unofficial Xamarin Day DomusDotNet
Unofficial Xamarin Day DomusDotNetUnofficial Xamarin Day DomusDotNet
Unofficial Xamarin Day DomusDotNet
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows Bridge
 

GdG DevFestMed 2016 - 06/11/2016

  • 2. Overview • E’ comune per gli sviluppatori di lavorare in parallelo a progetti software. Ad un certo punto, è necessario integrare tutti questi flussi di lavoro paralleli in una base. • Continuous Integration (CI) ci aiuta ad evitare le complessità di integrazione attraverso la fusione dei cambiamenti, apportati al codice da ogni sviluppatore, su una base code comune continua. • Ciò risulta in una base di codice coeso e stabile.
  • 3. Components • Version Control Consolida tutto il codice di un progetto in un unico repository condiviso e mantiene una cronologia completa di tutte le modifiche apportate ai file. • Continuous Integration Server Il CI è responsabile della raccolta tutti i manufatti di un progetto (codice sorgente, immagini, video, database, test automatizzati, etc.), della compilazione dell'applicazione e dell'esecuzione dei test automatizzati.
  • 4. CI Flow • Ogni sviluppatore mantiene una copia del codice sorgente sulla propria macchina. • Una volta che le modifiche sono pronte, vengono “committate” sul repository centrale, così che possano essere condivise con il resto del team.
  • 5. • Si parla di unit test in quanto le funzionalità del programma vengono scomposte in comportamenti che possono essere testati come singole unità. • È possibile generare rapidamente progetti di test e metodi di test dal codice oppure creare manualmente i test necessari. • Con lo sviluppo basato su test, gli unit test vengono creati prima di scrivere il codice e quindi vengono usati sia come documentazione di progettazione sia come specifiche funzionali. Unit Test
  • 6. Version Control Visual Studio Team Service and Team Foundation Server Git SVN Components Continuous Integration Visual Studio Team Service and Team Foundation Server Visual Studio Team Services and Jenkins Git And Jenkins
  • 7. • Visual Studio Team Services (VSTS) e Team Foundation Server (TFS) sono gli strumenti di Microsoft per la continuous integration, il monitoraggio delle attività, la pianificazione Agile e include strumenti di reporting e di controllo delle versioni. • VSTS fornisce servizi via cloud. Non richiede hardware o infrastrutture dedicate e si può accedere da qualsiasi luogo attraverso i browser. • TFS è progettato per server Windows locali e vi si accede attraverso una rete locale o una connessione VPN. VSTS and TFS
  • 8. • Utilizzare l'IDE di vostro gradimento sfruttando il plug-in per Eclipse, IntelliJ, Android Studio, Visual Studio, Visual Studio Code e altro ancora. • Sviluppare in Java, C #, PHP o qualsiasi altro linguaggio moderno e costruire per applicazioni per Linux, Mac, Windows, iOS e Android. VSTS and TFS
  • 11. • Supporto per app Android, Cordova, iOS, OS X, Unity, Windows e Xamarin • Report sugli arresti anomali, live e affidabili • Commenti e suggerimenti in app da utenti reali • SDK open source in grado di riconoscere il codice in esecuzione nelle tue app • Integrazione con la soluzione di gestione degli elementi di lavoro e il sistema di compilazione esistenti HockeyApp
  • 13. DEMO