Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Integration for IOS

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Allan Davis Allan Davis
October 15, 2013

Continuous Integration for IOS

How to setup a Jenkins server for building ios applications.

Avatar for Allan Davis

Allan Davis

October 15, 2013
Tweet

More Decks by Allan Davis

Other Decks in Technology

Transcript

  1. Agenda • Overview • Setting up Ruby for an application

    • Setup up Cocoapods • Raking the setup, build and testing tasks • Setting up the Jenkins jobs • Sit Back and let it build Wednesday, October 16, 13
  2. What is Continuous Integration • Process in which code is

    constantly compiled with tests run against the app Wednesday, October 16, 13
  3. Adding Ruby to your Application • Mac has ruby installed

    by default • Add a couple of gems: • $ sudo gem install rake $ sudo gem install bundler Wednesday, October 16, 13
  4. Bundle Init # A sample Gemfile source "https://rubygems.org" # gem

    "rails" gem "cocoapods", "~> 0.25.0" gem "frank-cucumber", "~> 1.2.0" Wednesday, October 16, 13
  5. CocoaPods Init # Uncomment this line to define a global

    platform for your project # platform :ios, "6.0" pod 'AFNetworking', '~> 1.3.2' pod 'TestFlightSDK', '~> 2.0' pod 'Reachability', '~> 3.1.1' pod 'Pixate', '~> 2.0.0RC2' target :test do ! link_with "WorkoutPokerTests" ! #pod 'Kiwi', '~> 2.2.1' ! pod 'OCMock', '~> 2.2.1' end Wednesday, October 16, 13
  6. Rake Setup task :setup do system 'bundle install' system 'pod

    install' end Wednesday, October 16, 13
  7. Rake Test task :test do system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme

    WorkoutPoker -sdk iphonesimulator7.0 build test' end Wednesday, October 16, 13
  8. Rake frank task :frank do' result = system 'frank build

    --workspace WorkoutPoker.xcworkspace -- scheme WorkoutPoker' if result #system 'frank launch' Dir.chdir('Frank') do system 'cucumber' end end end Wednesday, October 16, 13
  9. Get Started with Jenkins • Download Jenkins • Run java

    -jar jenkins.war • Open browser and go to localhost:8080 Wednesday, October 16, 13
  10. Jenkins Plugins • Jenkins GIT Plugin • Keychains and Provisioning

    Profiles Management • Testflight Plugin • Xcode plugin • Rake Plugin Wednesday, October 16, 13