[libvirt] [PATCH jenkins-ci 00/19] Use jenkins-job-builder for CI

Daniel P. Berrange berrange at redhat.com
Fri Aug 5 08:36:12 UTC 2016

On Fri, Aug 05, 2016 at 10:29:17AM +0200, Pavel Hrdina wrote:
> On Thu, Aug 04, 2016 at 03:52:09PM +0100, Daniel P. Berrange wrote:
> > We are using the CentOS Jenkins server for running CI tasks.
> > Currently those tasks are maintained by people manually
> > updating the Jenkins web UI. This is a horrible interface
> > that requires 100's of mouse clicks to achieve even the
> > simplest things. It is also incredibly hard to compare
> > the config of different jobs to make sure they are working
> > in a consistent manner.
> > 
> > Fortunately there are tools which can help - OpenStack
> > created the jenkins-job-builder tool which uses the Jenkins
> > REST API to create/update jobs from a simple YAML file
> > definition.
> > 
> > This series thus creates a set of YAML files which will
> > (almost) replicate our current manually create config.
> > 
> > I've used jenkins-job-builder in offline test mode to
> > generate Jenkins XML files and then compared them to what
> > we currently have and they are mostly the same. So there
> > should not be too many suprises lurking, but I do still
> > expect some accidental breakage in places. As such I have
> > not actually uploaded the new auto-generated job configs
> > to ci.centos.org at this time.
> > 
> > The intention is that these configs will all live in the
> > libvirt GIT server in a new 'libvirt-jenkins-ci' repository
> Hi Dan, wow nice job.  I didn't know that there was this tool to maintain jobs
> for Jenkins.  The web interface is horrible.
> I'm not sure why we need to build all the tools, we don't do it right now and
> even though we are using those tools, they have nothing in common with libvirt
> projects and friends.

What do you mean by "build all the tools" ?  Everything I have provided
jobs for here, we *already* have running jobs for under libvirt CI.

> If we need to install those tools on all nodes, we should probably create
> another configuration/database of packages that are required to run all the jobs
> from all projects.

We shouldn't install any pre-built packages for anything that we are
capable of building from git, as git master branches cannot be assumed
to work with older binary packaged versions, especially when getting to
centos which is comparatively old. I already fixed this on the CI build
slaves by removing a bunch of packages as we had some jobs building against
things from git while other jobs we trying to build against deps from git
but then accidentally picking up parts of the binary package install, so
we have a horrible half&half build.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list