On Fri, Aug 05, 2016 at 11:54:17AM +0100, Daniel P. Berrange 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
BTW, following on from this, I would like to create kickstart + puppet
files for managing the build slaves & re-create the the slaves. This
will give us a known good config that we can replicate elsewhere as
needed.
That's definitely good idea. As you've probably noticed there is a lot of env
variables configured for all slaves. Is it possible to use the jenkins-jobs
tool to configure those env variables too? I don't think that's a good idea
configure those env variables directly inside the slaves since they are used
only by Jenkins.
Pavel