I’m looking to setup CI. I only own one Mac. I do have a copy of OS X 4.0 Server (free with my Apple Developer Program license). I currently use Git for source control. I would prefer something with tight Xcode and Git integration. I will buy a second Mac with Yosemite if I have to.
Do I have an option that will allow me to avoid buying more hardware? E.G. Virtualization, 3rd party etc…
Update
I tried Travis-CI and sadly this will not work as my project is based on IOS8 Swift. Travis-CI currently does not support swift.
5
If you’re using GitHub as your central Git repository, you could take a look at Travis CI. It’s a cloud-based CI system, so you don’t have to manage the server yourself. I’m thinking of trying this out for some of my open-source projects.
If you want to stick with Apple’s tools all the way, try out Bots. It ships as part of Xcode Server. I’ve been considering using this but haven’t got around to setting it up yet. It’s obviously very tightly integrated with Xcode and Git, which is fantastic if you’re doing Apple-ony work, but as soon as you decide to branch out onto other platforms you’ll find that you have to maintain two CI systems.
I’ve used TeamCity in the past. Compared to Jenkins it’s very easy to set up and manage.
Lastly, you could take a look at Jenkins. From what I remember Jenkins is far more complex to install than it should be, but I admittedly didn’t try terribly hard to get it working.
Up until fairly recently I ran my own CI system. I had a VirtualBox virtual machine running OSX Mountain Lion with an install of TeamCity. I encountered issues where the combination of Java (TeamCity and Jenkins both require it) and Xcode exhausted the virtualized RAM and caused the VM to completely lock up. If you have an abundance of RAM on the host machine that shouldn’t be an issue, but it was a little annoying for me.