3. Continuous Integration with
Jenkins for iOS
• What is Continuos Integration?
• Why use Continuous Integration for an iOS
project?
• What options do we have?
• Jenkins
• How to setup a Jenkins CI server for iOS
5. What is Continuous
Integration?
Continuous Integration (CI) is a development
practice that requires developers to integrate code
into a shared repository several times a day.
Each check-in is then verified by an automated
build, allowing teams to detect problems early.
7. Why use Continuous
Integration for an iOS project?
• We want to deliver quality products
• Detect defects as soon as they are introduced
• Speed up the build distribution
• Code metrics - poor, but it’s something
8. What options do we have?
• Xcode Server
• Travis CI
• Jenkins
• Other: Ship.io, Bamboo
9. Why Jenkins?
• Open source
• Big community
• Easy to setup plugins & scripts
• You can use it along other projects - an
Android version of your app, for example
Presentation info: benefits and how to setup your first server
Cati dintre cei din sala sunt mobile iOS Developers?
Cati dintre voi au publicat sau lucrat la o aplicatie publicata pe AppStore?
Cati dintre voi au folosit sau folosesc continuos integration pe proiectele la care au lucrat?
O aplicatie traieste si moare in AppStore in functie de review-urile pe care le are.
Principalul aspect urmarit de Continuous Integration este acela de a previne problemele de integrare si conflictele generate de aceasta si a fost creat cu intentia de a fi folosit impreuna cu testele automatizate conform practicilor test-driven development.
Developers -> Repository -> CI Server -> Test & Code Metrics -> Passes / Fails
Dezvoltarea se face intr-un mediu rapid.
Proiectele iOS sunt mici si scurte ca durata de dezvoltate in comparatie cu Java.
Xcode server - buggy
Travis CI - few options
Open source, Java
Big coummunity == plugins, not so many for Xcode
Easy to setup and there are always scripts
Can be extended
Mac OS X & Java Development Kit. KIT @ www.jenkins-ci.org
Install under own user to avoid Keychain issues
Homebrew