All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Gagneraud <chgans@gna.org>
To: yocto@yoctoproject.org
Subject: Server specs for a continuous integration system
Date: Mon, 02 Sep 2013 17:05:08 +1200	[thread overview]
Message-ID: <52241C84.2090605@gna.org> (raw)

Hi all,

I'm currently looking at server specs for a "good" continuous 
integration server to be used for a project using Yocto and other things 
as well.

The definition of "good" in my context is something that allows me to:
- Build 2 images for 2 different products that will interact with each 
other (kind of client/server architecture), so likely based on the same 
custom Yocto distro, but likely running on 2 different SoCs (and 
different vendors).
- Each image will need to have two build flavours: production and 
engineering
- Very likely other demo images as well
- The client is a "lightweight" measurement system, so i need a small 
base (connman, systemd, wifi, Qt, ntp client), the application layer (Qt 
based but no GUI), and a couple of firmwares to be run on auxiliary devices
- The server is still kind of lightweight, same base as above, plus 
sqlite, light http server, ntp server and of course it's own application 
layer (Qt based again, with a GUI for a wide "session screen").

On top of that:
- The server will be part of a continuous integration system with 
nightly builds and test suite runners/controllers .
- The CI will have to build a couple of "Engineering tools" as well (Qt 
based again), that need to be compile for Gnu/Linux and cross-compiled 
for Windows.
- The CI will have to build a couple of firmware that run on embedded RTOS.

Last thing is I would like to run all build/test activities on a unique 
Linux server.

Having myself a quad-core i7/3GHz workstation, i still find the yocto 
build very (very) long, and this server will have way more work to do 
than me when i'm playing around with Yocto.

So right now, I'm thinking about:
- CPU: Xeon E5, maybe 2 x E5-2670/90, for a total of 16 cores (32 threads)
- Hard drives: 500GB, 1 TB or 2 TB (ideally with RAID if it can speed up 
the builds)
- RAM: i don't really know, maybe 8 or 16 GB or more?

Budget wise, my feeling is that 10k US$ should be enough...

I'm coming here to see if anyone would have feedback on choosing the 
right "good enough" specs for a continuous integration server.

Best regards,
Chris



             reply	other threads:[~2013-09-02  5:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-02  5:05 Christian Gagneraud [this message]
2013-09-02 12:35 ` Server specs for a continuous integration system Burton, Ross
2013-09-02 21:45   ` Christian Gagneraud
2013-09-02 22:16     ` Chris Tapp
2013-09-02 23:29       ` Christian Gagneraud
2013-09-03  1:04         ` Elvis Dowson
2013-09-03  3:06           ` Christian Gagneraud
2013-09-03  8:55             ` Elvis Dowson
2013-09-04  3:02               ` Christian Gagneraud
2013-09-03 19:27           ` Chris Tapp
2013-09-03 19:22         ` Chris Tapp
2013-09-04  2:45           ` Christian Gagneraud
2013-09-04  3:47             ` Elvis Dowson
2013-09-13  5:58               ` Khem Raj
2013-09-03 11:57       ` lothar
2013-09-03 19:17         ` Chris Tapp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52241C84.2090605@gna.org \
    --to=chgans@gna.org \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.