ciprian redinciuc continuous integration with jenkins for i os

15

Upload: codecampiasi

Post on 01-Jul-2015

84 views

Category:

Technology


2 download

DESCRIPTION

CodeCampIasi25Oct2014

TRANSCRIPT

Page 1: Ciprian redinciuc   continuous integration with jenkins for i os
Page 2: Ciprian redinciuc   continuous integration with jenkins for i os

Continuous Integration with Jenkins for iOS

Page 3: Ciprian redinciuc   continuous integration with jenkins for i os

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

Page 4: Ciprian redinciuc   continuous integration with jenkins for i os

Do you want this to happen?

Page 5: Ciprian redinciuc   continuous integration with jenkins for i os

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.

Page 6: Ciprian redinciuc   continuous integration with jenkins for i os

OverviewRepository

Developers

CI Server Tests & Code Metrics

Build passes Distribution

Build fails Email issue

Page 7: Ciprian redinciuc   continuous integration with jenkins for i os

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

Page 8: Ciprian redinciuc   continuous integration with jenkins for i os

What options do we have?

• Xcode Server

• Travis CI

• Jenkins

• Other: Ship.io, Bamboo

Page 9: Ciprian redinciuc   continuous integration with jenkins for i os

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

Page 10: Ciprian redinciuc   continuous integration with jenkins for i os

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

Page 11: Ciprian redinciuc   continuous integration with jenkins for i os

Demo

Page 12: Ciprian redinciuc   continuous integration with jenkins for i os

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

Page 13: Ciprian redinciuc   continuous integration with jenkins for i os

Where can I find the tutorial?

https://github.com/nsagora/JenkinsCI-iOS

Page 14: Ciprian redinciuc   continuous integration with jenkins for i os

Questions & Feedback

Page 15: Ciprian redinciuc   continuous integration with jenkins for i os

Thank you!

Please fill the online evaluation form after the event.