BT

Jenkins CI Integrates With Chef and Puppet to Provide Full Traceability of Deployments

by Matthias Marschall on May 26, 2014 |

Using the Deployment Notification plugin for Jenkins developed by CloudBees and either the additional Chef Software plugin or Puppet Labs plugin, engineers can now trace every file installed by Chef or Puppet within Jenkins CI. Jenkins will map each file installed by Chef or Puppet using its fingerprinting mechanism and show exactly to which environments that file has been deployed to. The plugin doesn't require Jenkins to run the external software but it offers a way for Chef or Puppet to deliver deployment reports via its API.

The Deployment Notification plugin, the Chef Software plugin and the Puppet Labs plugin are the product of a cooperation between CloudBees, Chef Software and Puppet Labs. Kohsuke Kawaguchi, chief technology officer, CloudBees, and founder of the Jenkins CI community explained that "a need for automation has been driving our industry and traceability is a key enabler of automation." Adam Jacobs, chief technology officer (CTO), Chef Software said: "Giving users of both Jenkins and Chef Software this added capability will help them do a better job developing applications and making updates to them quickly, efficiently and error-free," and Mitch Sonies, vice president, corporate and business development, Puppet Labs said that the integration of Puppet and Jenkins gives developers greater visibility so they can deliver on the promise of continuous delivery. 

Without the Deployment Notification plugin Jenkins was not able to trace binaries through code to deployment. If binaries were picked up by Chef or Puppet and deployed by them to an environment, Jenkins missed that critical piece of information. Engineers where not able to find out where exactly the binary had been used. The Deployment Notification plugin changes that. It can receive MD5 checksums of deployed files from Chef and Puppet and map them to its internal fingerprints of known binaries. Jenkins can use this mechanism to show the environments, hosts, and paths where the binaries have been deployed to by Chef or Puppet giving engineers full visibility into the complete deployment pipeline.

The Chef and Puppet plugins trace the use of the File resource and report each usage back to Jenkins. Engineers need to install the Deployment Notification plugin and either the Chef Software plugin or the Puppet Labs plugin according to their environment. The Deployment Notification plugin only provides the generic functionality to track deployments in Jenkins - the tool specific implementation resides in the vendor specific plugins.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT