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. >