etnadev 2016 - 21/10/2016
TRANSCRIPT
Continuous IntegrationforXamarinwithVisualStudioTeamServicesPaternò[email protected]@tanopaterno
Overview• E’comuneperglisviluppatoridilavorareinparallelo aprogettisoftware.Aduncertopunto,ènecessariointegraretuttiquestiflussidilavoroparalleliinunabase.
• Continuous Integration(CI)ciaiutaadevitarelecomplessitàdiintegrazioneattraversolafusionedeicambiamenti,apportatialcodicedaognisviluppatore,suunabasecodecomunecontinua.
• Ciòrisultainunabasedicodicecoesoestabile.
Components
Continuous IntegrationServer - IlCIèresponsabiledellaraccoltatuttiimanufattidiunprogetto(codicesorgente,immagini,video,database,testautomatizzati,etc.),dellacompilazionedell'applicazioneedell'esecuzionedeitestautomatizzati.
VersionControl - Consolidatuttoilcodicediunprogettoinununicorepository condivisoemantieneunacronologiacompletadituttelemodificheapportateaifile.
Old CI• Ognisviluppatoremantieneunacopiadelcodicesorgentesullapropriamacchina.
• Unavoltachelemodifichesonopronte,vengono“committate”sulrepositorycentrale,cosìchepossanoesserecondiviseconilrestodelteam.
UnitTest
• Siparladiunit testinquantolefunzionalitàdelprogrammavengonoscomposteincomportamentidiscretitestabilichepossonoesseretestaticomesingole unità.
• Èpossibilegenerarerapidamenteprogettiditestemetodiditestdalcodiceoppurecrearemanualmenteitestnecessari.
• Conlo sviluppobasatosutest,gliunit testvengonocreatiprimadiscrivereilcodiceequindivengonousatisiacomedocumentazionediprogettazionesiacomespecifichefunzionali.
NewCI
• LeapplicazioniintroduconosfideunicheperlaCI.Ades. leapp possonorichiederel’accessohaisensoricomeilGPSolafotocamera.
Components
VersionControl
VisualStudioTeamServiceandTeamFoundationServer
Git
SVN
Continuous Integration
VisualStudioTeamServiceandTeamFoundationServer
VisualStudioTeamServicesandJenkins
Git AndJenkins
VSTSandTFS
• VisualStudioTeamServizi (VSTS)e TeamFoundationServer (TFS)sonoglistrumentidiMicrosoftperlacontinuous integration,ilmonitoraggiodelleattività,lapianificazioneAgileeincludestrumentidireportingedicontrollodelleversioni.
• VisualStudioTeamServicesfornisceserviziviacloud.Nonrichiedehardwareoinfrastrutturededicateesipuòaccederedaqualsiasiluogoattraversoibrowser.
• TFSèprogettatoperserverWindowslocalievisiaccedeattraversounaretelocaleounaconnessioneVPN.É possibilecontrollarecompletamentelaconfigurazionedeiserverdibuild edèpossibileinstallarequalsiasiulterioresoftwareoservizionecessario.
VSTSandTFS
• Utilizzarel'IDEdivostrogradimentosfruttandoilplug-inperEclipse,IntelliJ,Android Studio,VisualStudio,VisualStudioCodeealtroancora.
• SviluppareinJava,C#,PHPoqualsiasialtrolinguaggiomodernoecostruireperapplicazioniperLinux,Mac,Windows,iOSeAndroid.
Demo
ExtensionsforVSTS
PersonalStoreSviluppo,distribuzioneebetatestdiapp perdispositivimobili
• Supportoperapp Android,Cordova,iOS,OSX,Unity,WindowseXamarin• Reportsugliarrestianomali,liveeaffidabili• Commentiesuggerimentiinapp dautentireali• SDKopensourceingradodiriconoscereilcodiceinesecuzionenelletueapp• Integrazioneconlasoluzionedigestionedeglielementidilavoroeilsistemadicompilazioneesistenti
Demo
ExtendedCI
• Xamarin TestCloud eHockeyApp sonodeiserviziutiliperestenderelepotenzialitàdellaCI.
Questiontime