0

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.

closed as off-topic by GlenH7, user40980, gnat, Kilian Foth, amon Dec 13 '14 at 21:20

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Community, gnat, Kilian Foth, amon
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    Why do you need CI when you're the only dev with a single machine? Just put a trigger to deploy on commit. – Ordous Dec 8 '14 at 17:21
  • 1
    @Ordous: Agreed, but perhaps for learning purposes? – Robert Harvey Dec 8 '14 at 17:24
  • 1
    Correct, learning purposes mostly. I use CI in my .NET environment. I'm working on learning the Mac ecosystem now. And as Ant pointed out, yes it is nice to have a separate build environment and potentially long running tests executed elsewhere (if I upgrade hardware down the line as project grows). – P.Brian.Mackey Dec 8 '14 at 17:27
  • 2
    @Ordous: Ever forget to add a new file to your Git repository? It'll build locally but won't on a CI server. – Ant Dec 8 '14 at 17:28
  • 1
    You can also try bitrise.io (CTO here) - we're quite new (started our public service a little bit more than a month ago), we support Swift (actually right now we have Xcode 6.1 pre-installed which will be updated to 6.1.1 soon), you can register a free account and would love to hear your thoughts/feedback! – Viktor Benei Dec 8 '14 at 22:04
3

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.

Not the answer you're looking for? Browse other questions tagged or ask your own question.