Thursday, January 8, 2015

vBrownbag Jenkins CI Overview

The year is still new and I grabbed it by the horns by presenting on the vBrownbag!  It gave me a chance to learn a bit more about a topic I was slightly familiar with and give something back to a community that's helped me out.

The webinar was recorded and will be posted on the vBrownbag website soon.  I have made the slides available and the projects I demo'd are posted on GitHub here and here.  Please create a GitHub issue if you have any problems running the Vagrant projects.

Last night's webinar I gave a brief history of Jenkins CI, how it is used and gave a few demos.  For the first demo I showed how easy it was to install CentOS using the vagrant-jenkins project, a simple, two VM Vagrant project that provisions a Jenkins master and node.  I walked through some of the settings, where to configure plugins, security and add nodes.

The second installation demo was a slightly more complex project called puppetmaster-jenkins that added a Puppet Enterprise Puppet Master, a Jenkins master and Jenkins node.  This project provisions three VMs and demonstrates how to install Jenkins via the official Jenkins puppet module.  I also showed how easy it is to add a Jenkins node via swarm and the Jenkins puppet module.

Lastly I demonstrated how to pull code from a remote repository and run a script that checks the code for errors.  For demo purposes I used one of my own repositories that has some puppet code and ran puppet parser validate against all the puppet manifests.  I used the Jenkins master and node I spun up in the second demonstration.

A huge thank you to Terri Haber, Professional Services Engineer at PuppetLabs who's puppet-control repo was the basis for my projects.

Follow the vBrownbag on Twitter and check the site often as new recordings are published.  I hope you find the the webinar, presentation and associated vagrant projects useful learning tools as you experiment and get to know Jenkins better.