GdG DevFestMed 2016 - 06/11/2016

15
1 Gaetano Paternò [email protected] @tanopaterno Continuos Integration for Xamarin with Visual Studio Team Services

Transcript of GdG DevFestMed 2016 - 06/11/2016

1

Gaetano Paternò

[email protected]@tanopaterno

Continuos Integration for Xamarinwith Visual Studio Team Services

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 repositorycondiviso e mantiene una cronologia completa di tutte le modifiche apportate ai file.

• Continuous Integration ServerIl 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 repositorycentrale, 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

5

Version Control

Visual Studio Team Serviceand Team Foundation Server

Git

SVN

Components

6

Continuous Integration

Visual Studio Team Serviceand 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

7

• 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

8

DEMO

9

Extensions

10

• Supporto per app Android, Cordova, iOS, OS X, Unity, Windows e Xamarin

• Report sugli arresti anomali, live e affidabili

• Commenti e suggerimenti in appda 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

11

Xamarin Test Cloud

12

DEMO

13

Extended CI

14

Domande?

15