SlideShare a Scribd company logo
Continuous Integration
       at Wooga
I’m lazy!
I hate repetitive work!
I make mistakes!
Deploying iPhone App?
Continuous Integration for iOS
Let someone else do it...
Continuous Integration
Continuous Integration
    Automate the build
    Build every commit
    Make build self-testing
    Everyone can see the results
    of the latest build
Continuous Integration
    Automate the build
    Build every commit
    Make build self-testing
    Everyone can see the results
    of the latest build
Continuous Integration for iOS
Continuous Integration for iOS
http://xcloud.me/
http://jenkins-ci.org/
Automate the build
Build every commit
Make build self-testing
Everyone can see the results
of the latest build
Continuous Integration for iOS
Continuous Integration for iOS
every commit
on

            Snapshot / Release
                             manuall
                                     y
... requires different bundle identifier ...
PlistBuddy

$ /usr/libexec/PlistBuddy 
-c "Set :CFBundleIdentifier net.wooga.XXX.snapshot"

$ /usr/libexec/PlistBuddy 
-c "Set :CFBundleIdentifier net.wooga.XXX.release"
... now we need individual certificates ...
Configurations
... update Jenkins ...
Snapshot
Automate the build
Build every commit
Make build self-testing
Everyone can see the results
of the latest build
Running Unit Tests

$ xcodebuild 
  -project ./Game/PocketUniverse.xcodeproj 
  -target ***Tests 
  -configuration Debug -sdk iphonesimulator 
  | ./ocunit2junit.rb
$ xcodebuild 
  -project ./Game/PocketUniverse.xcodeproj 
  -target ***Tests 
  -configuration Debug -sdk iphonesimulator 
  | ./ocunit2junit.rb
Continuous Integration for iOS
Testing with Kiwi




https://github.com/MattesGroeger/OCUnit2JUnit
Validation
$ /usr/bin/rake validate_config

Error: element decl. 'xpLevel', attribute 'type':
The QName value 'xpLevelDefinition' does not
resolve to a(n) type definition. at Schema.xsd:71.

Finished: FAILURE
Automate the build
Build every commit
Make build self-testing
Everyone can see the results
of the latest build
Over-The-Air
                    Distribution
                    Live Crash Reports
                    Analytics


www.hockeyapp.net
Continuous Integration for iOS
Upload new version
curl 
  -F "status=2" 
  -F "notify=0" 
  -F "notes=New version!" 
  -F "notes_type=0" 
  -F "ipa=@XXX-InHouseSnapshot-${BUILD_NUMBER}.ipa" 
  -F "dsym=@XXX.app.dSYM.zip" 
  -H "X-HockeyAppToken: ***" 
  https://rink.hockeyapp.net/api/2/apps/***/app_versions
Continuous Integration for iOS
Continuous Integration for iOS
Jenkins Remote Access API
JENKINS_URL/job/JOBNAME/BUILD/api/json
github.com/MattesGroeger/jenkins-changelog
Continuous Integration for iOS
Automate the build
Build every commit
Make build self-testing
Everyone can see the results
of the latest build
Now we have more time ...
Continuous Integration for iOS
Continuous Integration for iOS
Section
Questions?
  MattesGroeger
  jobs.wooga.com

More Related Content

PPTX
Gdg ionic 2
PDF
Ionic2
PDF
Site Testing with CasperJS
PDF
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...
PPTX
Deploy Node.js application in Heroku using Eclipse
PDF
Haibu: dev deployment is fast and easy again
PPT
Yeoman
PDF
Fastlane - Automation and Continuous Delivery for iOS Apps
Gdg ionic 2
Ionic2
Site Testing with CasperJS
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...
Deploy Node.js application in Heroku using Eclipse
Haibu: dev deployment is fast and easy again
Yeoman
Fastlane - Automation and Continuous Delivery for iOS Apps

What's hot (19)

PPT
sbt 0.10 for beginners?
PPT
Lifthub (#rpscala 26)
PPT
Lifthub (rpscala #31)
PDF
Quickly function add by Eclipse Monkey
PPT
Auto Build
PDF
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
PDF
Get that Corner Office with Angular 2 and Electron
PPTX
Node.js debugging
PPT
Vagrant
PDF
Vagrant for local and team WordPress Development
PDF
Yeoman Workflow
PPTX
CI/CD for android
PDF
Cocoa pods
PDF
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
PDF
20150727 Development tools for Firefox OS apps
PDF
Роман Лютиков "Web Apps Performance & JavaScript Compilers"
PDF
Using JHipster for generating Angular/Spring Boot apps
PDF
HotPush with Ionic 2 and CodePush
PDF
Sw install with_without_docker
sbt 0.10 for beginners?
Lifthub (#rpscala 26)
Lifthub (rpscala #31)
Quickly function add by Eclipse Monkey
Auto Build
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
Get that Corner Office with Angular 2 and Electron
Node.js debugging
Vagrant
Vagrant for local and team WordPress Development
Yeoman Workflow
CI/CD for android
Cocoa pods
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
20150727 Development tools for Firefox OS apps
Роман Лютиков "Web Apps Performance & JavaScript Compilers"
Using JHipster for generating Angular/Spring Boot apps
HotPush with Ionic 2 and CodePush
Sw install with_without_docker
Ad

Similar to Continuous Integration for iOS (20)

PDF
Continuous Integration for IOS Apps
PPT
Continuos integration for iOS projects
PDF
Jazoon12 355 aleksandra_gavrilovska-1
PDF
Let’s start Continuous Integration with jenkins
PPTX
Continuous integration by Rémy Virin
PDF
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
KEY
Continuous integration & deployment
PDF
Continuous Cross Platform Mobile App Development using Jenkins Build Server
PDF
Survival of the Continuist
PDF
Apache Continuum Build, Test, and Release
PPTX
Jenkins CI/CD setup for iOS in Mac OSX
PPTX
Jenkins Introduction
PDF
Setup Build & Deploy with Jenkins CI
PPT
Continuous integration
PPTX
Ciprian redinciuc continuous integration with jenkins for i os
PDF
Ci for i-os-codemash-01.2013
PPTX
#ATAGTR2019 Presentation "iOS App Automation, GitHub and Jenkins integration"...
PPTX
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
PPTX
Automating Perl deployments with Hudson
PPTX
Functional & Performance Test Automation with CI
Continuous Integration for IOS Apps
Continuos integration for iOS projects
Jazoon12 355 aleksandra_gavrilovska-1
Let’s start Continuous Integration with jenkins
Continuous integration by Rémy Virin
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Continuous integration & deployment
Continuous Cross Platform Mobile App Development using Jenkins Build Server
Survival of the Continuist
Apache Continuum Build, Test, and Release
Jenkins CI/CD setup for iOS in Mac OSX
Jenkins Introduction
Setup Build & Deploy with Jenkins CI
Continuous integration
Ciprian redinciuc continuous integration with jenkins for i os
Ci for i-os-codemash-01.2013
#ATAGTR2019 Presentation "iOS App Automation, GitHub and Jenkins integration"...
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Automating Perl deployments with Hudson
Functional & Performance Test Automation with CI
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.
KodekX | Application Modernization Development
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I

Continuous Integration for iOS