Re: [rails-oceania] Continuous Integration Server

64 views
Skip to first unread message

Jak Charlton

unread,
Oct 30, 2012, 8:18:38 PM10/30/12
to rails-...@googlegroups.com
Any reason you wouldn't just run it in the background on your MBP?

I often have TeamCity running in the background (depending on project) and rarely even notice it's there ... on last project I even had it running in the background on my horribly underpowered Mac Mini (4gb) for a team of 5 devs, and never noticed it using same Mac Mini for dev

On Wed, Oct 31, 2012 at 10:56 AM, William Madden <w.a.m...@gmail.com> wrote:
Hey guys,

I need a CI server. I've been thinking about this for a little while and I'm leaning towards hosting my own CI server rather than using somebody else's service - primarily because I don't want to pay someone else for something I can maintain and because they tend to be slow. With regard to maintaining my own CI server, here are the conclusions I've come to:
  1. Headless servers are extremely frustrating to debug 
    • I want to be able to plug in a screen to set everything up, and to debug it when it (inevitably) breaks
  2. Remote servers tend to be slow
    • E.g. Amazon EC2
    • Also they cost money I don't have
  3. Maintaining my own hardware is fine, but I'm going to be travelling between countries a lot in the next few months and I need to be able to take it with me
    • So smaller is better
My app is pretty straightforward, a Rails server and HTML/JS frontend tested with RSpec, Jasmine and Cucumber. Running the full suite of tests takes about 2 minutes on my MBP.

I've been thinking about getting a mini-pc/nettop/<stupid sales term for "small computer">. Anybody have any recommendations - either for small portable hardware or for a hosted service that will perform adequately and not cost too much?

Cheers,

Will

--
You received this message because you are subscribed to the Google Groups "Ruby or Rails Oceania" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rails-oceania/-/DhOUxQRvcH8J.
To post to this group, send email to rails-...@googlegroups.com.
To unsubscribe from this group, send email to rails-oceani...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rails-oceania?hl=en.

Sebastian Porto

unread,
Oct 30, 2012, 8:17:21 PM10/30/12
to rails-...@googlegroups.com
Will

We use a mac mini here for the CI server, is that portable enough?
Not cheap, but very flexible.

Sebastian

31 October 2012 10:56 AM

Jack Chen

unread,
Oct 30, 2012, 8:19:58 PM10/30/12
to rails-...@googlegroups.com
I'd look at a Mac Mini running TeamCity. We're using TeamCity at Envato and it's pretty slick. It can give you per-test details rather than just dumping you the build outputs, build chains, personal builds but may be overkill for small projects.

Otherwise there's tddium and semaphore for hosted services.

Jon Rowe

unread,
Oct 30, 2012, 8:25:13 PM10/30/12
to rails-...@googlegroups.com
Don't be tempted by something with a duff CPU, I've been down that route, tests take so long it not worth it. Maybe consider a chunky (desktop replacement style) laptop if portability is an issue. 

Software wise Jenkins works well (is available by apt on Ubuntu).

Have you considered travis-ci?

Cheers
Jon

Jack Chen

unread,
Oct 30, 2012, 8:39:32 PM10/30/12
to rails-...@googlegroups.com
+1 on good CPU. Also, consider parallelising your build if you haven't already. Our build would take 2 hours 51 minutes if ran in serial, but in parallel over 2 servers (56 logical CPUs), it runs in just under 7 minutes.

Ben Hoskings

unread,
Oct 30, 2012, 8:58:33 PM10/30/12
to rails-...@googlegroups.com
Yep, parallelised builds are a huge win. We run parallel across 7 vagrant VMs on an 8-core (4 w/HT) box and the whole build takes around 8 minutes, vs. 30-40 minutes on my macbook. (I usually still run the unit specs locally though, because those only take about 2 minutes.)

Our build is split into 7 chunks: unit, jasmine, and 5x integration (grouped arbitrarily to take roughly the same amount of time each).

The VMs are headless and we run selenium specs via xvfb, which isn't a problem in practise. The build server is just there to say red/green as fast as possible, and then i diagnose specific specs locally (zeus zeus zeus).

- Ben

Nicholas Jefferson

unread,
Oct 30, 2012, 9:18:57 PM10/30/12
to rails-...@googlegroups.com
> Our build would take 2 hours 51 minutes

What on earth are you building?

Thanks,

Nicholas

Robert Gravina

unread,
Oct 30, 2012, 9:48:24 PM10/30/12
to rails-...@googlegroups.com
On 31 October 2012 10:18, Nicholas Jefferson <nich...@pythonic.com.au> wrote:
>> Our build would take 2 hours 51 minutes

Ours takes 1 hour across 6-cores. So in serial, 6 hours! :)

But there is a plus side...
http://xkcd.com/303/

Robert

Fred Wu

unread,
Nov 1, 2012, 10:15:02 PM11/1/12
to rails-...@googlegroups.com
I'm curious, has anyone done any research or benchmarks on running tests with higher frequency CPUs vs more CPU cores? Assuming tests are able to utilise all the cores (via parallel_tests perhaps).
Reply all
Reply to author
Forward
0 new messages