Intro to Continuous Integration for iOS
Transcript of Intro to Continuous Integration for iOS
keep the build fast
make it easy to get the latest builds fromCrashlytics / TestFlight
avoid last-minute chaos at release dates
everyone can see the results of the latest builds(s.c. big screen)
Automate the build
CODETE
enforce discipline of frequent automated testing
automatically run the tests periodically or afterevery commit
report the results to the developers via email or slack
Test automation
CODETE
automated reviews
introduction of coding rules
automatically find potential bugs and code duplications
code complexity analysis
Code quality management
CODETE
Pros
customizable and expandable
universal (iOS, Android, ...)
free of charge tests on real devices
Cons
very bad UX
difficult and time-consuming configuration
Jenkins
CODETE
Apple's continuous integration system for iOS and OS Xwhich enables automating static analysis of software,
unit testing, and build archiving.
Xcode Server
CODETE
Pros
direct configuration from Xcode
free of charge tests on real devices
customizable and expandable with additional tools,
i.e. SonarQube
easy integration with iOS
Cons
requires at least Mac Mini
Xcode Server
CODETE
3rd party cloud-based continuous integrationsystems which are hosted externally,
already set up and ready to use.
Cloud services
CODETE
https://ship.io/ios/
supports iOS and Android
monthly subscription fee for external systemslike AppThwack
http://greenhouseci.com/
supports iOS and Android
$49 / Month (5 Apps, 5 Team members, automated testing, unlimited builds)
Cloud service examples
CODETE
Pros
make apps, not infrastructure!
good for a start - very easy integration(git, github, slack, Crashlytics)
Cons
additional fee for real device testing
limited testing frameworks
ship.io
CODETE
easy integration with iOS - twin platform
quite fast introduction for developers
expandable with additional tools,i.e. SonarQube
free of charge tests on real devices
direct configuration and scripting fromdeveloper's Xcode
Recommendation
CODETE