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 Gemfilesource "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 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
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 endend
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 Profiles Management
• Testflight Plugin
• Xcode plugin
• Rake Plugin
Wednesday, October 16, 13
Resources
• www.cocoapods.org
• www.jenkins-ci.org
• www.testflightapp.com
Wednesday, October 16, 13
Recommended