Te c h L e a d

iOSAndroid
DEVELOPER
BlackberryBadaWindowsPhone7

MOBILE
Mathieu Hausherr
mha@octo.com
1
Continuous …

Continuous
Integration
Continuous
Delivery
Continuous
Deployment
2
Definitions
!

Continuous Integration
!   Each commit or per batch, the source code is :
!   Compiled
!   Tested
!   Deployed on Integration environment

!

Continuous Delivery
!   Each commit or per batch, the source code is :
!   […]
!   Delivered to next team (QA, validation, production, …)

!

Continuous Deployment
!   Each commit or per batch, the source code is :
!   […]
!   Deployed on Production environment

3
Continuous
Integration

4
One developer

Source
Repository

Compile

Testing

Execute Tests
Check Code
Quality
Package
Deploy
Document

5
Many developers

Compile
Execute Tests
Check Code
Quality
Document

Compile
Execute Tests
Check Code
Quality

Source
Repository

Document

Testing
Compile
Execute Tests
Check Code
Quality
Document

6
Remove the anarchy with a Software Factory
Continuous
Integration
Server
Source
Repository
Compile
Execute Tests
Check Code
Quality
Package
Deploy
Document

Testing
Notifications
7
Advanced Software Factory
Continuous
Integration
Server
Source
Repository

Fetch
Dependencies
Compile

Binary
Repository

Execute Tests
Check Code
Quality

Task and Issue
Repository

Package

Test Platform

Deploy
Document

Notifications

Documentation
& KPIs
8
How ?

1- Two things

ü Source repository

ü One machine to build

9
How ?

2- Many principles to apply :
ü Maintain a code repository
ü Automate the build
ü Make the build self-testing
ü Everyone commits more often
ü Everyone can see the results of the latest build
ü Automate deployment

Source : http://en.wikipedia.org/wiki/Continuous_integration
10
Continuous Continuous
Delivery
Deployment

11
One big difference

Continuous Delivery

manual

2

1

Team

3

4

5

Source
Repository

Continuous
Integration
Server

Tests
(UAT, QA)

Deploy to
production

Continuous Deployment

auto

Source : http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
12
Samples (for the backend)

1 deployment per day
~10 deployments per day
~25 deployments per day
~50 deployments per day
1 deployment every 11 seconds
2009/2010
13
What about mobile Apps ?

! Continuous deployment, not continuous delivery
!

Many factors prevent from doing continuous delivery
!   On iOS and WP the Store validation process
!   On Android the regression testing process is long
!   Facebook is going for crowd testing on Android
!   Android Beta Program

!   New releases are marketed towards the users and they expect them !
!   “42 new levels for Candy Crush !”
!   “A new hero in Clash of Clans !”
!   “A new budget feature for my mobile banking app !”

!

The emerging standard is going to release every month

14
Why deploy continuously ?

! Improve TTM and feedback in real life

IDEAS
LEARN FAST	


CODE FAST	


DATA

CODE

MEASURE FAST	


15
Meetic sample

!

Deploy every day at 4PM to the product team

!

Product team come on the open space at 4:30 and give feedbacks

16
And quality ?

! By decreasing deployment size
!   Minimize risks
!   Reduce the Mean Time To Repair (MTTR)

17
Installing Jenkins

! Manual Installation
!   Install Java
! Download jenkins.war
!   Start the server
! Directly
java –jar jenkins.war

!  Or with a Java Web Application Server

!   Jenkins is accessible at : http://localhost:8080/

18
http://localhost:8080/

19
Install plugins

20
Distributed jobs

! Sometimes the CI Server can’t execute the build
directly on the server
!   For example on windows it’s impossible to build
Objective-C source code, you need a Mac for that.

! It’s the master/slave notion

execute the build on

MASTER

SLAVE

21
Continuous Integration
SOFTWARE FACTORY

Automatic
dev. tests
Check
Quality rules

Work
Station

Publish
metrics

Source code
+ tests

SCM

Building
Application
Automatic
func. tests

Work
Station

Application
checked

Source code
+ tests

Document

Deploymen
t

Documentation

22
Continuous Integration on Android
SOFTWARE FACTORY

Automatic
dev. tests
Check
Quality rules

Work
Station

Source code
+ tests

Publish
metrics

LINT
Emma

SCM

Building
Application
Automatic
func. tests

Work
Station

Application
checked

Source code
+ tests

Document

Documentation

Deploymen
t

JAVAD
oc

23
Android – Focus
TESTS

BUILD

Junit forAndroid

Quality-tools for
Android
github.com/stephanenicolas/
Quality-Tools-for-Android	


VM

è 

è Graphic environment and
VirtualBox are necessary
è No simultaneous run

Not running on JVM. Dalvik is
necessary.

24
Deployment

! Specific solutions exist to handle deployment on mobile
devices
! Specific MAM actors

! MDM solution also have this features
! Many plugins available
25
Deployment

26
CI Server on the cloud

27
GUI & Metrics

Readability
Unit tests

28

More Related Content

PDF
Android + jenkins
ODP
Ci for-android-apps
PPT
Continuous integration
PDF
Continuous Integration for your Android projects
PPTX
Building the Test Automation Framework - Jenkins for Testers
PDF
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
PDF
Jenkins CI
PDF
Continuous Integration 101
Android + jenkins
Ci for-android-apps
Continuous integration
Continuous Integration for your Android projects
Building the Test Automation Framework - Jenkins for Testers
QConSP 2014 - Continuous Delivery - Part 03 - Continuous Integration
Jenkins CI
Continuous Integration 101

What's hot (20)

PDF
CICD by Teerapat
PPTX
Continuous Integration for Salesforce1 Platform
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PDF
Continuous integration
PPTX
Continuous delivery applied
PPTX
Continuous integration using jenkins
PDF
Continuous Integration (CI) - An effective development practice
PPTX
KEY
Continuous Delivery Using Jenkins
PDF
Yale Jenkins Show and Tell
PPTX
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PDF
Setup Build & Deploy with Jenkins CI
PPTX
Jenkins introduction
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
ZIP
Continuous Integration, Build Pipelines and Continuous Deployment
PDF
Devops | CICD Pipeline
PDF
Continuous Integration, Continuous Quality, Continuous Delivery
PPTX
Ci jenkins maven svn
PPTX
Introduction to Continuous Integration with Jenkins
CICD by Teerapat
Continuous Integration for Salesforce1 Platform
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Continuous integration
Continuous delivery applied
Continuous integration using jenkins
Continuous Integration (CI) - An effective development practice
Continuous Delivery Using Jenkins
Yale Jenkins Show and Tell
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
SanDiego_DevOps_Meetup_9212016-v8
Setup Build & Deploy with Jenkins CI
Jenkins introduction
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Continuous Integration, Build Pipelines and Continuous Deployment
Devops | CICD Pipeline
Continuous Integration, Continuous Quality, Continuous Delivery
Ci jenkins maven svn
Introduction to Continuous Integration with Jenkins
Ad

Viewers also liked (20)

PDF
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
PPTX
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
PPTX
Continuous delivery mobile application development
PDF
Xcode formation-iphone-ipad-xcode-et-cocoa
PDF
Comment concilier Agilité et projet au forfait ?
PDF
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
PDF
Xcode Server - Jeffrey Macko
PDF
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
PDF
Swift, opportunités et perspectives du dernier langage d'Apple
PDF
Use In IoT : l’objet connecté de la board au dashboard
PPTX
Tipos de Brackets- Introducción a la Odontología
PDF
IoT Best practices
PDF
9 tendances du Mobile World Congress 2017 par @hubinstitute
PPTX
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
PDF
XebiConFr 15 - Swift dans la vraie vie
PDF
Scrum et forfait
PDF
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
KEY
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
PPT
CocoaHeads Toulouse - Xcode et les tests - Epitez
PDF
Hello xcode 4 v2
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuous delivery mobile application development
Xcode formation-iphone-ipad-xcode-et-cocoa
Comment concilier Agilité et projet au forfait ?
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
Xcode Server - Jeffrey Macko
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Swift, opportunités et perspectives du dernier langage d'Apple
Use In IoT : l’objet connecté de la board au dashboard
Tipos de Brackets- Introducción a la Odontología
IoT Best practices
9 tendances du Mobile World Congress 2017 par @hubinstitute
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
XebiConFr 15 - Swift dans la vraie vie
Scrum et forfait
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
CocoaHeads Toulouse - Xcode et les tests - Epitez
Hello xcode 4 v2
Ad

Similar to Automate your build on Android with Jenkins (20)

PPTX
Continuous integration, delivery & deployment
PPTX
Continuous Integration
PPT
CI and CD with Jenkins
PPTX
Continuous Delivery for Open Source Java projects
PPT
Continuous deployment steve povilaitis
PPTX
Continuous integration CloudParty 21 may 2014 - Milan
PPTX
Industrialization of Android Development (Concept)
PPTX
Lets talk about CI CD Pipeline in Agile
PDF
Quickstart for continuous integration
PDF
TMF2014 CI-CD Workshop Michael Palotas
 
PDF
Continuous Testing
PPTX
Continuous Delivery
PPTX
Towards Continuous Delivery in Mobile Apps
PPT
Continuous Integration: A Case Study
PDF
Introduction to Continuous Integration
PPTX
Continuous delivery made
PPTX
Introduction to Continuous Integration
PDF
Agile Bodensee - Testautomation & Continuous Delivery Workshop
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
Continuous integration, delivery & deployment
Continuous Integration
CI and CD with Jenkins
Continuous Delivery for Open Source Java projects
Continuous deployment steve povilaitis
Continuous integration CloudParty 21 may 2014 - Milan
Industrialization of Android Development (Concept)
Lets talk about CI CD Pipeline in Agile
Quickstart for continuous integration
TMF2014 CI-CD Workshop Michael Palotas
 
Continuous Testing
Continuous Delivery
Towards Continuous Delivery in Mobile Apps
Continuous Integration: A Case Study
Introduction to Continuous Integration
Continuous delivery made
Introduction to Continuous Integration
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Software Delivery in 2016 - A Continuous Delivery Approach

More from BeMyApp (20)

PPTX
Introduction to epid
PDF
Introduction ciot workshop premeetup
PPTX
Présentation des APIs cognitives IBM Watson
PDF
Crédit Agricole S.A. Personae et Parcours
PDF
Cisco Paris DevNet Hackathon slideshow - Intro
PPTX
Tumeurs Neuroendocrines : une vue d'ensemble
PPTX
Building your first game in Unity 3d by Sarah Sexton
PDF
Using intel's real sense to create games with natural user interfaces justi...
PPTX
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
PPTX
Audio Mixer in Unity5 - Andy Touch
PDF
Shaders - Claudia Doppioslash - Unity With the Best
PDF
[HACKATHON CISCO PARIS] Slideshow du workshop Smart City
PDF
Tools to Save Time
PDF
[Workshop e résidents] présentation intent, craft ai, dalkia et incubateur
PDF
[Webinar E-résidents #1] Présentation des différents métiers du bâtiment conn...
PPTX
[IoT World Forum Webinar] Review of CMX Cisco technology
PDF
HP Helion Episode 6: Cloud Foundry Summit Recap
PDF
Webinar UI/UX by Francesco Marcellino
PDF
HP Helion Webinar #5 - Security Beyond Firewalls
PDF
HP Helion Webinar #4 - Open stack the magic pill
Introduction to epid
Introduction ciot workshop premeetup
Présentation des APIs cognitives IBM Watson
Crédit Agricole S.A. Personae et Parcours
Cisco Paris DevNet Hackathon slideshow - Intro
Tumeurs Neuroendocrines : une vue d'ensemble
Building your first game in Unity 3d by Sarah Sexton
Using intel's real sense to create games with natural user interfaces justi...
Introduction to using the R200 camera & Realsense SDK in Unity3d - Jon Collins
Audio Mixer in Unity5 - Andy Touch
Shaders - Claudia Doppioslash - Unity With the Best
[HACKATHON CISCO PARIS] Slideshow du workshop Smart City
Tools to Save Time
[Workshop e résidents] présentation intent, craft ai, dalkia et incubateur
[Webinar E-résidents #1] Présentation des différents métiers du bâtiment conn...
[IoT World Forum Webinar] Review of CMX Cisco technology
HP Helion Episode 6: Cloud Foundry Summit Recap
Webinar UI/UX by Francesco Marcellino
HP Helion Webinar #5 - Security Beyond Firewalls
HP Helion Webinar #4 - Open stack the magic pill

Recently uploaded (20)

PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
Configure Apache Mutual Authentication
PDF
Statistics on Ai - sourced from AIPRM.pdf
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PPTX
Build Your First AI Agent with UiPath.pptx
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Module 1 Introduction to Web Programming .pptx
Comparative analysis of machine learning models for fake news detection in so...
Lung cancer patients survival prediction using outlier detection and optimize...
The influence of sentiment analysis in enhancing early warning system model f...
Flame analysis and combustion estimation using large language and vision assi...
NewMind AI Weekly Chronicles – August ’25 Week IV
Auditboard EB SOX Playbook 2023 edition.
Configure Apache Mutual Authentication
Statistics on Ai - sourced from AIPRM.pdf
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
future_of_ai_comprehensive_20250822032121.pptx
Convolutional neural network based encoder-decoder for efficient real-time ob...
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Build Your First AI Agent with UiPath.pptx
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
4 layer Arch & Reference Arch of IoT.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf

Automate your build on Android with Jenkins

  • 1. Te c h L e a d iOSAndroid DEVELOPER BlackberryBadaWindowsPhone7 MOBILE Mathieu Hausherr [email protected] 1
  • 3. Definitions ! Continuous Integration !   Each commit or per batch, the source code is : !   Compiled !   Tested !   Deployed on Integration environment ! Continuous Delivery !   Each commit or per batch, the source code is : !   […] !   Delivered to next team (QA, validation, production, …) ! Continuous Deployment !   Each commit or per batch, the source code is : !   […] !   Deployed on Production environment 3
  • 6. Many developers Compile Execute Tests Check Code Quality Document Compile Execute Tests Check Code Quality Source Repository Document Testing Compile Execute Tests Check Code Quality Document 6
  • 7. Remove the anarchy with a Software Factory Continuous Integration Server Source Repository Compile Execute Tests Check Code Quality Package Deploy Document Testing Notifications 7
  • 8. Advanced Software Factory Continuous Integration Server Source Repository Fetch Dependencies Compile Binary Repository Execute Tests Check Code Quality Task and Issue Repository Package Test Platform Deploy Document Notifications Documentation & KPIs 8
  • 9. How ? 1- Two things ü Source repository ü One machine to build 9
  • 10. How ? 2- Many principles to apply : ü Maintain a code repository ü Automate the build ü Make the build self-testing ü Everyone commits more often ü Everyone can see the results of the latest build ü Automate deployment Source : http://en.wikipedia.org/wiki/Continuous_integration 10
  • 12. One big difference Continuous Delivery manual 2 1 Team 3 4 5 Source Repository Continuous Integration Server Tests (UAT, QA) Deploy to production Continuous Deployment auto Source : http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment 12
  • 13. Samples (for the backend) 1 deployment per day ~10 deployments per day ~25 deployments per day ~50 deployments per day 1 deployment every 11 seconds 2009/2010 13
  • 14. What about mobile Apps ? ! Continuous deployment, not continuous delivery ! Many factors prevent from doing continuous delivery !   On iOS and WP the Store validation process !   On Android the regression testing process is long !   Facebook is going for crowd testing on Android !   Android Beta Program !   New releases are marketed towards the users and they expect them ! !   “42 new levels for Candy Crush !” !   “A new hero in Clash of Clans !” !   “A new budget feature for my mobile banking app !” ! The emerging standard is going to release every month 14
  • 15. Why deploy continuously ? ! Improve TTM and feedback in real life IDEAS LEARN FAST CODE FAST DATA CODE MEASURE FAST 15
  • 16. Meetic sample ! Deploy every day at 4PM to the product team ! Product team come on the open space at 4:30 and give feedbacks 16
  • 17. And quality ? ! By decreasing deployment size !   Minimize risks !   Reduce the Mean Time To Repair (MTTR) 17
  • 18. Installing Jenkins ! Manual Installation !   Install Java ! Download jenkins.war !   Start the server ! Directly java –jar jenkins.war !  Or with a Java Web Application Server !   Jenkins is accessible at : http://localhost:8080/ 18
  • 21. Distributed jobs ! Sometimes the CI Server can’t execute the build directly on the server !   For example on windows it’s impossible to build Objective-C source code, you need a Mac for that. ! It’s the master/slave notion execute the build on MASTER SLAVE 21
  • 22. Continuous Integration SOFTWARE FACTORY Automatic dev. tests Check Quality rules Work Station Publish metrics Source code + tests SCM Building Application Automatic func. tests Work Station Application checked Source code + tests Document Deploymen t Documentation 22
  • 23. Continuous Integration on Android SOFTWARE FACTORY Automatic dev. tests Check Quality rules Work Station Source code + tests Publish metrics LINT Emma SCM Building Application Automatic func. tests Work Station Application checked Source code + tests Document Documentation Deploymen t JAVAD oc 23
  • 24. Android – Focus TESTS BUILD Junit forAndroid Quality-tools for Android github.com/stephanenicolas/ Quality-Tools-for-Android VM è  è Graphic environment and VirtualBox are necessary è No simultaneous run Not running on JVM. Dalvik is necessary. 24
  • 25. Deployment ! Specific solutions exist to handle deployment on mobile devices ! Specific MAM actors ! MDM solution also have this features ! Many plugins available 25
  • 27. CI Server on the cloud 27