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.

5
  • 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
    CommentedDec 8, 2014 at 17:21
  • 1
    @Ordous: Agreed, but perhaps for learning purposes?CommentedDec 8, 2014 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).CommentedDec 8, 2014 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
    CommentedDec 8, 2014 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!CommentedDec 8, 2014 at 22:04

1 Answer 1

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.

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.