Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Integration for IOS Apps

794 views

Published on

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

Published in: Technology
  • Be the first to comment

Continuous Integration for IOS Apps

  1. 1. Continuous Integration for iOS Apps Wednesday, October 16, 13
  2. 2. 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
  3. 3. What is Continuous Integration • Process in which code is constantly compiled with tests run against the app Wednesday, October 16, 13
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. Workspace scheme export Wednesday, October 16, 13
  8. 8. Rake Setup task :setup do system 'bundle install' system 'pod install' end Wednesday, October 16, 13
  9. 9. Rake Build task :build do system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme WorkoutPoker build' end Wednesday, October 16, 13
  10. 10. Rake Test task :test do system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme WorkoutPoker -sdk iphonesimulator7.0 build test' end Wednesday, October 16, 13
  11. 11. 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
  12. 12. Get Started with Jenkins • Download Jenkins • Run java -jar jenkins.war • Open browser and go to localhost:8080 Wednesday, October 16, 13
  13. 13. Jenkins Plugins • Jenkins GIT Plugin • Keychains and Provisioning Profiles Management • Testflight Plugin • Xcode plugin • Rake Plugin Wednesday, October 16, 13
  14. 14. Building a Job Wednesday, October 16, 13
  15. 15. Setting up SCM Wednesday, October 16, 13
  16. 16. Setting Up Triggers Wednesday, October 16, 13
  17. 17. Setting up Build Environment Wednesday, October 16, 13
  18. 18. XCode build plugin 1 Wednesday, October 16, 13
  19. 19. XCode Build Plugin 2 Wednesday, October 16, 13
  20. 20. Shell Build Wednesday, October 16, 13
  21. 21. Kick off Another Project Wednesday, October 16, 13
  22. 22. Push Git Tag Wednesday, October 16, 13
  23. 23. Upload to TestFlight Wednesday, October 16, 13
  24. 24. Resources • www.cocoapods.org • www.jenkins-ci.org • www.testflightapp.com Wednesday, October 16, 13
  25. 25. About Me • Twitter: @cajun_code • email: cajun.code@gmail.com Wednesday, October 16, 13

×