ciprian redinciuc continuous integration with jenkins for i os
DESCRIPTION
CodeCampIasi25Oct2014TRANSCRIPT
Continuous Integration with Jenkins for iOS
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
Do you want this to happen?
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.
OverviewRepository
Developers
CI Server Tests & Code Metrics
Build passes Distribution
Build fails Email issue
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
What options do we have?
• Xcode Server
• Travis CI
• Jenkins
• Other: Ship.io, Bamboo
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
Jenkins job setup• Building: Xcode plugin
• Source code management: Git plugin
• Testing: xctool with JUnit reporting
• Code duplication: PMD 4.3 script
• Code coverage: gcovr script
• Lines of code metrics: sloccount script
• Build distribution: Crashlytics
Demo
Demo Review• Create a Jenkins job
• Checkout your source code repository
• Inject $PATH environment variable
• Test the project
• Compute metrics
• Build & Archive
• Build distribution
• Display metrics
Where can I find the tutorial?
https://github.com/nsagora/JenkinsCI-iOS
Questions & Feedback
Thank you!
Please fill the online evaluation form after the event.