Usage
This plugin builds on top of deployment notification plugin and lets Puppet users track when/where/what files are deployed, and trigger other activities after deployments have happened. See deployment notification plugin for more details.
This plugin adds the ability to parse the YAML report format from
Puppet. The easiest way to do this is to use the built-in HTTP reporter
and have it sent to your Jenkins at '/puppet/report'. The APITOKEN
is
the API token of a
valid Jenkins user:
$ puppet apply --reports http --reporturl=http://USER:APITOKEN@server/jenkins/puppet/report
With CSRF protection enabled, the above will fail because puppet will
try to POST the content without proper crumb. So alternatively, you can
use the jenkinstracking
report processor from
puppet-jenkinstracking
module:
$ puppet apply --reports jenkinstrcking --reporturl=http://USER:APITOKEN@server/jenkins/
.. or use store
report processor, which writes the YAML report as a
file, and then send them over Jenkins
SSH like this:
$ puppet apply --reports store --reportdir=/var/log/puppet
$ for f in (ls /var/log/puppet/*/*); do cat $f | ssh -p PORT user@jenkins submit-puppet-report && rm $f; done
Instead of Jenkins SSH, you can also use Jenkins CLI:
cat $f | java -jar jenkins-cli.jar -s http://server/jenkins/puppet/report submit-puppet-report
The latter two approach can be combined with remote file transfer, which would be convenient for deployments where these servers cannot see Jenkins due to the network topology.
Recognized resource type
This plugin currently tracks the use of file resources and pick up fingerprints from there automatically.
Our plan is to auto-recognize other resources where it makse sense, and also provide a custom puppet resource for recording fingerprints of arbitrary files.
Tracking files explicitly
If the resource type auto-recognition is insufficient and you want
Jenkins to explicitly track fingerprints of specific files, use the
tracking
resource from
puppet-jenkinstracking
in your manifest like this:
track { '/usr/share/foo/foo.war'}
Changelog
Version 1.1 (Dec 21, 2015)
- Improve logging for troubleshooting purposes
- Puppet plugin compatible with deployment-notification-1.2
- PuppetEvent support for the "Track" events
- Add a Plugin name/description
Version 1.0 (Feb 17, 2014)
- Initial release