Continuous Integration for IOS Apps

  • View
    464

  • Download
    1

Embed Size (px)

DESCRIPTION

Developing IOS Applications in a team environment requires integration and continuous builds. This presentation shows how to develop this with your team.

Transcript

  • Continuous Integration for iOS Apps Wednesday, October 16, 13
  • 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
  • What is Continuous Integration Process in which code is constantly compiled with tests run against the app Wednesday, October 16, 13
  • 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
  • Bundle Init # A sample Gemle source "https://rubygems.org" # gem "rails" gem "cocoapods", "~> 0.25.0" gem "frank-cucumber", "~> 1.2.0" Wednesday, October 16, 13
  • CocoaPods Init # Uncomment this line to dene 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
  • Workspace scheme export Wednesday, October 16, 13
  • Rake Setup task :setup do system 'bundle install' system 'pod install' end Wednesday, October 16, 13
  • Rake Build task :build do system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme WorkoutPoker build' end Wednesday, October 16, 13
  • Rake Test task :test do system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme WorkoutPoker -sdk iphonesimulator7.0 build test' end Wednesday, October 16, 13
  • 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
  • Get Started with Jenkins Download Jenkins Run java -jar jenkins.war Open browser and go to localhost:8080 Wednesday, October 16, 13
  • Jenkins Plugins Jenkins GIT Plugin Keychains and Provisioning Proles Management Testight Plugin Xcode plugin Rake Plugin Wednesday, October 16, 13
  • Building a Job Wednesday, October 16, 13
  • Setting up SCM Wednesday, October 16, 13
  • Setting Up Triggers Wednesday, October 16, 13
  • Setting up Build Environment Wednesday, October 16, 13
  • XCode build plugin 1 Wednesday, October 16, 13
  • XCode Build Plugin 2 Wednesday, October 16, 13
  • Shell Build Wednesday, October 16, 13
  • Kick off Another Project Wednesday, October 16, 13
  • Push Git Tag Wednesday, October 16, 13
  • Upload to TestFlight Wednesday, October 16, 13
  • Resources www.cocoapods.org www.jenkins-ci.org www.testightapp.com Wednesday, October 16, 13
  • About Me Twitter: @cajun_code email: cajun.code@gmail.com Wednesday, October 16, 13