Continuous integration for iOS development

New technologies bring us lots of tools for optimizing development processes. This time, at TechMagic TechTalk, the iOS Ninja Eugene Goloboyar told us about benefits and specifics of using OS X Server as CI for iOS.

Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day.

How it looks in practice:
1. developer writes apps locally in Xcode and check them into a source code repository;
2. then sends them to Xcode Server, a service provided by OS X Server, for processing;
3. in Xcode on the development Mac, developer sets up bots that run on the server. These bots process apps, using the source code in the repository, and report back the results;
4. each runs of a bot is called an integration, and these runs occur regularly throughout the development life cycle of your app.

alt

Usage OS X Server is very beneficial in iOS development, unless you can use it only on Mac:

  • Costs 20$ or free for members of developer program;
  • Made by Apple;
  • Self hosted;
  • Control of Xcode version;
  • Can test on connected iOS devices;
  • Xcode Server runs under multiple users on your;
  • system and it persists all files - they will be picked up;
  • even after deleting both OS X Server and Xcode;
  • Has web interface.

Check out more information about using OS X Server as CI for iOS in the Eugene’s presentation here.

Read more about MagicTalks at TechMagic here:
Apple Watch: user experience and development opportunities
“Business Model Canvas”. Upgrading our Lean Development skills

Techmagic - Good&Co case study