Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 1
1, 2, 3 - Build!
Continuous Integration für Mobile...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 2
Motivation
Jenkins aufsetzen (Oh nein… nicht schon...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 3
“Zivilisationen entwickeln
sich weiter, indem sie ...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 4
Kurze Umfrage
Was wird entwickelt?
Versionskontrol...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 5
Continuous Integration
Quelle: https://insights.se...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 6
1
Automatisierter Build
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 7
Der Build-Prozess
Repository Bekannte Buildumgebun...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 8
Bekannte Buildumgebung
iOS-Apps benötigen Mac
Proj...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 9
GreenhouseCI
Automatisierten Buildprozess aufsetzen
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 10
Automatische Versionierung
https://gist.github.co...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 11
Apps signieren
Android
Keystores (selbstgeneriert...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 12
2
Automatisierte Tests
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 13
“Teste früh. Teste oft. Teste automatisiert”
Hunt...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 14
Automatisierte Unit-Tests
Leicht umsetzbar auf al...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 15
Automatisierte UI-Tests
• GreenhouseCI, Bitrise u...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 16
Automatisierte UI-Tests
Firebase
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 17
Automatisierte UI-Tests
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 18
“Teste deine Software,
oder deine Anwender tun es...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 19
3
Automatisches Deployment
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 20
Automatisches Deployment
Deployment für Google Pl...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 21
Automatisches Deployment
Deployment für Apple App...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 22
Automatisches Deployment
Deployment für Apple App...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 23
Deployment an (Beta-)Tester
Direktes Deployment d...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 24
Weitere Tools und Ressourcen
• Fabric Crashlytics...
© Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 25
Zusammenfassung
• Continuous Integration und Cont...
Upcoming SlideShare
Loading in …5
×

1, 2, 3 build - continuous integration für mobile apps

202 views

Published on

Präsentation, die ich auf den Software Quality Days 2017 in Wien über Continuous Integration für Mobile Apps gehalten habe. Ich habe ein paar Online Services wie Bitrise, Greenhouse-CI und Visual Studio Team Services live demonstriert und die drei Schritte von Continuous Delivery praxisnah gezeigt, wie leicht sie auch für mobile Applikationen umsetzbar sind.

Published in: Software
  • Be the first to comment

  • Be the first to like this

1, 2, 3 build - continuous integration für mobile apps

  1. 1. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 1 1, 2, 3 - Build! Continuous Integration für Mobile Apps @PachaAlexander
  2. 2. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 2 Motivation Jenkins aufsetzen (Oh nein… nicht schon wieder!)
  3. 3. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 3 “Zivilisationen entwickeln sich weiter, indem sie die Anzahl der wichtigen Operationen erhöhen, die sie durchführen können ohne zu denken.“ (Sinngemäß aus dem Englischen) Alfred North Whitehead
  4. 4. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 4 Kurze Umfrage Was wird entwickelt? Versionskontrollsysteme? Delivery Methode? CI Tools?
  5. 5. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 5 Continuous Integration Quelle: https://insights.sei.cmu.edu/devops/2015/01/continuous-integration-in-devops-1.html
  6. 6. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 6 1 Automatisierter Build
  7. 7. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 7 Der Build-Prozess Repository Bekannte Buildumgebung Deliverable
  8. 8. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 8 Bekannte Buildumgebung iOS-Apps benötigen Mac Projektabhängig UWP-Apps benötigen Windows Android Apps sind plattformunabhängig
  9. 9. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 9 GreenhouseCI Automatisierten Buildprozess aufsetzen
  10. 10. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 10 Automatische Versionierung https://gist.github.com/apacha CI sollte Versionsnummer automatisch vergeben
  11. 11. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 11 Apps signieren Android Keystores (selbstgeneriert) Debug vs. Release Keystore Weitere Informationen: • https://developer.android.com/studio/publish/app-signing.html • https://codesigning.guide/ • http://sharpmobilecode.com/making-sense-of-ios-provisioning/ iOS Identity Certificates und Provisioning Profiles Dedizierte Testgeräte
  12. 12. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 12 2 Automatisierte Tests
  13. 13. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 13 “Teste früh. Teste oft. Teste automatisiert” Hunt and Thomas – The Pragmatic Programmer
  14. 14. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 14 Automatisierte Unit-Tests Leicht umsetzbar auf allen Plattformen
  15. 15. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 15 Automatisierte UI-Tests • GreenhouseCI, Bitrise und Travis unterstützen Android Emulator und iOS Simulator direkt • VSTS benötigt Agent: https://github.com/Microsoft/vsts-agent • On-Devices Services • Testdroid • Firebase • Xamarin Test Cloud • AWS Device Farm • Testobject Testen auf virtuellen und physischen Geräten
  16. 16. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 16 Automatisierte UI-Tests Firebase
  17. 17. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 17 Automatisierte UI-Tests
  18. 18. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 18 “Teste deine Software, oder deine Anwender tun es” Hunt and Thomas – The Pragmatic Programmer
  19. 19. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 19 3 Automatisches Deployment
  20. 20. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 20 Automatisches Deployment Deployment für Google Play Store
  21. 21. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 21 Automatisches Deployment Deployment für Apple App Store
  22. 22. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 22 Automatisches Deployment Deployment für Apple App Store mit Fastlane
  23. 23. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 23 Deployment an (Beta-)Tester Direktes Deployment der App an Tester Verfügbar für alle Plattformen Weitere Features: • Statistiken • Melden von Abstürzen (inkl. Stack-Trace) • Feedback • Automatische Aktualisierung (side-loading) HockeyApp
  24. 24. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 24 Weitere Tools und Ressourcen • Fabric Crashlytics • Testflight BetaTesting für iOS • Google Firebase Weitere Links auf http://my-it.at
  25. 25. © Zühlke 20171, 2, 3 - Build! | Alexander Pacha 18. Januar 2017 Folie 25 Zusammenfassung • Continuous Integration und Continuous Delivery ist auch für mobile Applikationen möglich und sinnvoll • Aufsetzen manchmal knifflig, aber den Aufwand wert • Onlinedienste oft kostenpflichtig, aber helfen besonders am Anfang sehr • Jeder Dev kann leicht DevOp werden

×