We've been using Hudson for Linux (from scratch) and are now working on
getting Android to build (almost done!).

A few differences between the two projects might be applicable to you:
- in Linux we used a few tarballs for common components. They were untarred
during the build and then the compiled from source after that. In Android
we went straight from source for the whole thing (100K+ files). The
mercurial clone or status takes a long time in Android. So based on that
one data point, I recommend you use tarballs for those parts of the
distribution that don't change much.

- We have a need to build from a clean workspace. Since the clone took so
long we used the mercurial "hg clean" which seems to take less time then
the workspace delete followed by the hg clone.

- We have an application that we install into the distribution during the
build. We wanted our application project to be source controlled separately
from the Linux build. So we had to split the Linux (and Android) builds
into two parts. One for the compilation, one for the   "packaging", i.e.
the step where we merged our application and data files into the
Linux/Android distribution. It wasn't trivial to do this for either
project, but much more complicated for Android. I recommend you start
working out how that will work for you. There were a lot of details to get
right for it to all work correctly.

- We are (currently) stuck with an old PC with not much horsepower. As soon
as I can, I am going to swap it out with something with a very fast disk
(SSD!) and with multiple cores so I can start using "make -j". So, I
recommend you get big iron up front.

- We use Ubuntu so I created a set of installation scripts to install all
prerequisite packages for Linux. Very useful for configuring slaves to be
identical. I started with bash but eventually converted to perl. Much
easier to work with.

John


On Fri, Jul 27, 2012 at 7:46 AM, Bue Petersen <b...@praqma.net> wrote:

> Hi,
>
> anyone having experience building an embedded linux setup with Jenkins?
>
> Currently I build on a linux host using a shell script getting
> repositories and setting up environment, and the uses bitbake and
> OpenEmbedded to build a toolchain and an image.
>
> I have searched for some time, but can not really find any best
> practices and recommendations, except using Jenkins to mimic my shell
> script or just run it.
> This being also a little tricky, as environment isn't always
> configured as expected.
>
> In advance, thanks for tips and replies,
> best regards
> Bue Petersen
>
>
> PS: Also sent an mail to dev-list, asking about a plugin for the
> bitbake and OpenEmbedded combo.
>

Reply via email to