Kiel Oleson - Continuous Integration with Xcode Server

  • April 3, 2014 · 7:00 PM
  • This location is shown only to members

THURSDAY, APRIL 3rd @ 7PM , NOT WEDNESDAY NIGHT @ 8PM. 

Enjoy Free Prizes? Enjoy Free Tech Talks? Enjoy Free Beer? Support NSMeetup, tweet the event link for a free prize. Also, everyone that tweets the link will be entered into a drawing for the grand prize announced at the event. #nsmeetup. Last Month, less than 1% of members tweeted. 

Looking for Contract Work? Email [masked] for details.

Looking for Desks to Rent in SF? A small startup on Market St in SoMa has offered up some desks in their office for rent. Discounts for NSMeetup members. Email [masked] for more details.

This month Kiel Oleson from Eventbrite will be giving his talk "Continuous Integration with Xcode Server". With Apple’s App Store review process, making your submission bug-free and high-quality is of utmost importance.  Continuous Integration is a testing practice utilized to ensure a highly-tested build is always available for shipping.  Jenkins is a popular continuous integration suite, but it was not designed for iOS development and has several limitations.  Apple released their continuous integration server, Xcode Server, with Xcode 5 last summer.  In the talk, we examine the prerequisites to setting up continuous integration, the details of creating bots on Xcode Server, and the features that are available on Xcode Server along with their uses.  Finally, we present a list of caveats to be aware of when planning a continuous integration implementation.

Kiel Oleson is an iOS Mobile Software Engineer at Eventbrite in San Francisco. Since joining Eventbrite in 2010 as their first dedicated iOS engineer, he has led from-scratch development of Eventbrite’s eponymous application for event attendees and Eventbrite At The Door, a ticket point-of-sale system. Prior to writing software for iOS, he wrote WebKit-based software for Mac OS X with Cocoa and Qt. Kiel is an advocate of test-driven development and continuous integration in the iOS community, from its roots in UIAutomation, OCUnit and shell scripts to today’s KIF, XCTest, and Xcode Server.

Kiel moved to San Francisco from Missouri and is a graduate of the Raikes School at the University of Nebraska. When he isn’t improving his software’s reliability and user experience, he is in his car trying to improve his lap times at the racetrack.

Interested in Speaking or Hosting NSMeetup? 
Please reach out to Steve Derico if you are interested. We are looking for hosts for upcoming events with seating for at least 100 people, in the San Francisco city limits. Every month, we meet for some tech talks and free beer. iOS developers can present their newest project/library and then we'll have an hour of networking and drinks. Topics will stay specific to Objective-C and iOS. Open-source projects are highly encouraged.

We cannot hold the door open for everyone once the talk has started. You must be RSVP'd to enter the event.

Join or login to comment.

  • Kiel O.

    Hey everyone - I just posted the slides from my talk: http://www.slideshare.net/KielOleson/continuous-integration-for-ios-33169822

    Thanks again to all of you who came out!

    5 · April 5, 2014

  • Jonah

    I'd love to hear if anyone can share their experience setting up clusters of build agents for iOS/OS X apps. That seems to be the only way to run tests on multiple devices in parallel. Have you used chef/puppet/boxen/other to automate provisioning those machines?

    1 · April 4, 2014

    • Robert Z.

      We use a cluster of mac minis but most of the hard work is done inside VMs. We've found there are enough idiosyncrasies in each install or upgrade (mostly required GUI interaction) that the safest bet is to cut a new snapshot of the VM and redistribute it.

      April 4, 2014

    • Robert Z.

      Fwiw, there are a couple of OS X specific tools worth looking at, specifically https://code.google.co...­ and https://code.google.co...­ but I have no real experience with them.

      April 4, 2014

  • Sebastian

    Good topic. Building commercial grade products with Xcode has been a pain for a long long time and it looks like still it is :) However there might be a some hope coming from Apple...

    For those who are not afraid of Gentoo Linux philosophy approach (you are brave, patient and have lots of disk space) there's a crazy way I have experienced at my recent job. You throw Apple stuff to garbage, build your own clang/llvm toolchain, use CMake to generate Makefiles and plug it in to Jenkins :))) I don't think I would recommend it to anyone. Just pointing out that it is not impossible...

    April 4, 2014

  • Jonah

    Not one of the options Kiel covered but I've been pretty happy using http://www.jetbrains.com/teamcity/ as a CI server for some of our iOS work. I found it easier and more reliable than Jenkins when I last compared them. Currently using it to run tests on a handful of devices and OCLint checks on every feature branch and automatically publish OtA builds from master and release tags.

    1 · April 4, 2014

  • Steve D.

    Kiel is making some edits to the slides and will post them here on Sunday. We will also tweet a link when they are available http://www.twitter.com/nsmeetup

    April 4, 2014

  • Matt E.

    Should have been more technical though.

    April 4, 2014

  • Jesse

    For those interested in the blog post referenced during the talk, I believe this is it: http://chris.cm/setting-up-xcode-bots-with-cocoapods/

    April 4, 2014

    • Kiel O.

      This is one of the posts I wanted to point out for folks looking for more info on using CocoaPods with a "pre-build step" method. The other method is committing the pods, and it's explained in the article I referred to as "angry": "Stop Sucking At Build Environments" - http://blog.sudeium.c...­

      2 · April 4, 2014

  • Romy I.

    This was a great meet up! Thanks for giving a great talk .

    1 · April 4, 2014

  • Gurubaran

    Good Job Kiel!
    Nice talk about the XCode server CI Integration. I was actually very pleased to learn about the Caveats too as this helps to make a decision.

    1 · April 4, 2014

  • Paul B.

    Good information and well presented.

    2 · April 4, 2014

  • salomoko

    [Topic iGood] = @{YES};

    3 · April 3, 2014

  • Chris W.

    Well prepared. Comprehensive. Very accommodating with all the questions. Great meetup!

    2 · April 3, 2014

  • Richard F.

    Thank you Kiel! Great talk, good info, new things that will be very useful.

    1 · April 3, 2014

  • Robert M.

    For CocoaPods, we have had a lot of success using a git post checkout to do the pod install.

    This means that you don't have to check in your workspace or Pods/ directory and I think its simpler than the setup script dependency hack.

    This is what I used to get started for that:
    https://gist.github.com/litso/9967450

    3 · April 3, 2014

  • A former member
    A former member

    What time does the talk start?

    April 3, 2014

  • Justin K.

    Disappointed, but I can't make the talk, after all. Awesome topic.

    March 31, 2014

Our Sponsors

People in this
Meetup are also in:

Sometimes the best Meetup Group is the one you start

Get started Learn more
Rafaël

We just grab a coffee and speak French. Some people have been coming every week for months... it creates a kind of warmth to the group.

Rafaël, started French Conversation Group

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy