Continuous Integration with OS X Server and Bots

Sirisak Lueangsaksri
3 min readNov 18, 2015

--

If you are working on a big and complex iOS project, chance that you are working with XCTest is high. You may already familiar with Unit Testing and UI Testing but you may not run your tests automatically before, or if you are able to run the tests automatically, you should have an idea of how hard to configure the system to supports the iOS testing (not to mention the system architecture itself!).

Apple provides an easy, Xcode friendly continuous integration system within their ecosystem called OS X Server. OS X Server is an operating system which contains multiple services for managing and serving the clients (such as User Directory, Mails, Messaging and more!). One of the interesting service OS X Server provided is Xcode Server. Xcode Server serves as a continuous integration server for iOS projects which supports both Unit Testing and UI Testing on both simulators and actual devices, additionally Xcode Server also serves as a Git remote server in which hold the project source codes in a unified place.

Once the server is setup, client can creates, run and see the testing result from an automated testing configurations called Bot, right in the Xcode.

You can create a bot, right in the Xcode itself!

Configure the iOS project for testing in the Xcode Server is also easy, if your project can be built and run in the Xcode, then it can also build and run on the testing environment on the Xcode Server. No further configuration needed, save a lot of our time!

Bot is integrating the testing sequence.

Once the testing configuration is setup, the bot will be run according to the configuration. Each testing session, called Integration, consists of collecting the source code, building, testing and also collecting the output from the project (such as iOS app bundle) along with the testing results.

Testing result showing some devices are pass the tests while some are not.
Details of the tests

With these results, the team can identify and solve the problem right away. Increase the software quality and reduce the shipping time while maintain the cost on the same level.

OS X Server can be downloaded for free in the OS X section if you have an Apple developer program or $19.99 on the Mac App Store.

--

--