Last Updated: February 25, 2016
· monkee_magic

Use the package type to install your application with puppet

One of the best ways to deploy your application along with your infrastructure (think cloudy cloud cloud here) is to add a Build Step to your CI environment to create an MSI or RPM.

The benefits of producing a package are numerous but here are the best:
+ You can use http to fetch and deploy your package - no stupid fileshares, ftp, git pulls etc
+ You can include the configuration templates of your application
+ If your orchestration breaks or is unavailable - all is not lost
+ Versions are really versioned - minimize silly deploy errors
+ Dependencies can be specified in the package for all to see

NOTE WELL - I said configuration template - don't put your configuration values in your package, that's dumb.

So what does it look like?


package { "Application.msi":
 ensure          => installed,
 provider        => "windows",
 source          => "http://web.site/puppetmodules/Application.msi",