etnadev 2016 - 21/10/2016

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

Upload: gaetano-paterno

Post on 12-Apr-2017

79 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: EtnaDev 2016 - 21/10/2016

Continuous IntegrationforXamarinwithVisualStudioTeamServicesPaternò[email protected]@tanopaterno

Page 2: EtnaDev 2016 - 21/10/2016

Overview• E’comuneperglisviluppatoridilavorareinparallelo aprogettisoftware.Aduncertopunto,ènecessariointegraretuttiquestiflussidilavoroparalleliinunabase.

• Continuous Integration(CI)ciaiutaadevitarelecomplessitàdiintegrazioneattraversolafusionedeicambiamenti,apportatialcodicedaognisviluppatore,suunabasecodecomunecontinua.

• Ciòrisultainunabasedicodicecoesoestabile.

Page 3: EtnaDev 2016 - 21/10/2016

Components

Continuous IntegrationServer - IlCIèresponsabiledellaraccoltatuttiimanufattidiunprogetto(codicesorgente,immagini,video,database,testautomatizzati,etc.),dellacompilazionedell'applicazioneedell'esecuzionedeitestautomatizzati.

VersionControl - Consolidatuttoilcodicediunprogettoinununicorepository condivisoemantieneunacronologiacompletadituttelemodificheapportateaifile.

Page 4: EtnaDev 2016 - 21/10/2016

Old CI• Ognisviluppatoremantieneunacopiadelcodicesorgentesullapropriamacchina.

• Unavoltachelemodifichesonopronte,vengono“committate”sulrepositorycentrale,cosìchepossanoesserecondiviseconilrestodelteam.

Page 5: EtnaDev 2016 - 21/10/2016

UnitTest

• Siparladiunit testinquantolefunzionalitàdelprogrammavengonoscomposteincomportamentidiscretitestabilichepossonoesseretestaticomesingole unità.

• Èpossibilegenerarerapidamenteprogettiditestemetodiditestdalcodiceoppurecrearemanualmenteitestnecessari.

• Conlo sviluppobasatosutest,gliunit testvengonocreatiprimadiscrivereilcodiceequindivengonousatisiacomedocumentazionediprogettazionesiacomespecifichefunzionali.

Page 6: EtnaDev 2016 - 21/10/2016

NewCI

• LeapplicazioniintroduconosfideunicheperlaCI.Ades. leapp possonorichiederel’accessohaisensoricomeilGPSolafotocamera.

Page 7: EtnaDev 2016 - 21/10/2016

Components

VersionControl

VisualStudioTeamServiceandTeamFoundationServer

Git

SVN

Continuous Integration

VisualStudioTeamServiceandTeamFoundationServer

VisualStudioTeamServicesandJenkins

Git AndJenkins

Page 8: EtnaDev 2016 - 21/10/2016

VSTSandTFS

• VisualStudioTeamServizi (VSTS)e TeamFoundationServer (TFS)sonoglistrumentidiMicrosoftperlacontinuous integration,ilmonitoraggiodelleattività,lapianificazioneAgileeincludestrumentidireportingedicontrollodelleversioni.

• VisualStudioTeamServicesfornisceserviziviacloud.Nonrichiedehardwareoinfrastrutturededicateesipuòaccederedaqualsiasiluogoattraversoibrowser.

• TFSèprogettatoperserverWindowslocalievisiaccedeattraversounaretelocaleounaconnessioneVPN.É possibilecontrollarecompletamentelaconfigurazionedeiserverdibuild edèpossibileinstallarequalsiasiulterioresoftwareoservizionecessario.

Page 9: EtnaDev 2016 - 21/10/2016

VSTSandTFS

• Utilizzarel'IDEdivostrogradimentosfruttandoilplug-inperEclipse,IntelliJ,Android Studio,VisualStudio,VisualStudioCodeealtroancora.

• SviluppareinJava,C#,PHPoqualsiasialtrolinguaggiomodernoecostruireperapplicazioniperLinux,Mac,Windows,iOSeAndroid.

Page 10: EtnaDev 2016 - 21/10/2016

Demo

Page 11: EtnaDev 2016 - 21/10/2016

ExtensionsforVSTS

Page 12: EtnaDev 2016 - 21/10/2016

PersonalStoreSviluppo,distribuzioneebetatestdiapp perdispositivimobili

• Supportoperapp Android,Cordova,iOS,OSX,Unity,WindowseXamarin• Reportsugliarrestianomali,liveeaffidabili• Commentiesuggerimentiinapp dautentireali• SDKopensourceingradodiriconoscereilcodiceinesecuzionenelletueapp• Integrazioneconlasoluzionedigestionedeglielementidilavoroeilsistemadicompilazioneesistenti

Page 13: EtnaDev 2016 - 21/10/2016

Demo

Page 14: EtnaDev 2016 - 21/10/2016

ExtendedCI

• Xamarin TestCloud eHockeyApp sonodeiserviziutiliperestenderelepotenzialitàdellaCI.

Page 15: EtnaDev 2016 - 21/10/2016

Questiontime