2. WHO AM I ? LIMA ?
• I’m an iOS software engineer at Forget box.
• We’re creating a new way to store your data.
• Backed on kickstarter
• 12,8K backers
• $ 1,2 Millions
23. CREATE A JOB WITH A
SCRIPT
Build your project, run Unit Tests, compute code coverage, package
your app, deploy it etc…
$ pod install
$ xcodebuild -workspace Lima.xcworkspace -scheme "Lima"
-destination=build -configuration Debug_deploy -sdk
iphoneos7.0 ONLY_ACTIVE_ARCH=YES clean build archive
$ xcodebuild -exportArchive -exportFormat "IPA" archivePath "$NEW_ARCHIVE" -exportPath ./Lima.ipa exportProvisioningProfile "Lima Adhoc Distribution"
# And then upload to testflight via curl
Full script here: https://gist.github.com/rvirin/7796647
24. PLUGINS vs SCRIPTS
Most of the time, plugins are easier to
use. Sometimes we don’t have other
choices to use plugins
Examples :
• cocoapods plugin if podFile is not in
root folder
• run Unit tests with Xcode plugin
31. SETUP
• Install OS X Server and Xcode on your
mac
• Activate Xcode as a service of your server
• Connect to remote repository
• Create your first bot
32. ERRORS DURING SETUP
• Error on getting source code -> no error,
big logs for nothing
• Add _teamserver public key to your Github
repository (deploy keys)
33. ERRORS DURING SETUP
• CodeSign error: code signing is required
for product type 'Application' in SDK 'iOS
7.0’ just trying to build the app !
• Get your provisionning profile on the
mac server (Add your account to Xcode)
34. SETUP
• If you have to install your pods before
building your app :
• $ sudo visudo -f /etc/sudoers
• Add this line :
# Same thing without a password
# %wheel
ALL=(ALL) NOPASSWD: ALL
%_teamsserver ALL=(ALL) NOPASSWD: ALL
38. COOL THINGS ON BOTS
• Bots Can be created and monitored from
Xcode.
• Integrate with Xcode
• UI and UX rocks.
39. BAD THINGS ON BOTS
• Lots of bugs
• Fetching pods before building app is painfull
• No 3rd party integration (Testflight, hockeyapp
etc…)
• Can’t Archive an app
• Need to create a specific scheme
42. SONARQUBE
• Issues with OCLint are powerfull
• Generate Documentation, Count lines of
code, analyze code duplication and run Unit
Tests !
• https://github.com/octo-technology/sonarobjective-c
45. IMPROVEMENTS
• « Thanks to Jenkins I’m able
to test the last version of our
app just by pressing a button,
it’s awesome ! » Alex Product
Guy at Lima
46. IMPROVEMENTS
• « Each day at 4pm, we get a
new build of our app, it’s really
efficient to reduce the amount
of bugs » Tester at Meetic
(Dating website)