Deploying Windows Software with Puppet and Chocolatey

We live in a world of IT automation and currently, Microsoft is behind Linux in terms of having DevOps tools. There are many tools built on Linux for using code for configuration such as Puppet, Ansible, Salt, Chef, while Windows only has Desired State Configuration (DSC). DSC is still fairly new and may not be a full-fledged solution for configuration management, but it is the closest thing that is Windows centric. Fortunately, most popular configuration management tools do support Windows clients.

If you want a proven DevOps solution that has the bells and whistles to manage your Windows servers, it may be best to turn to a solution such as Puppet. In addition to using Puppet, there is an excellent package management solution that is quite Linux-y (think yum or apt-get) that makes managing Windows packages much easier and simpler, called Chocolatey. In fact, the creator of Chocolatey, Rob Reynolds, was a software engineer at Puppet, which gives you a hint at how seamlessly Puppet and Chocolatey work together.

Check out this very basic demonstration on using Puppet and Chocolatey to deploy Windows packages.

Installing the Chocolatey module on the Puppet master

First, let us install the Windows puppet module pack onto our Puppet master, which includes the Chocolatey module. This will enable us to create Puppet classes where Chocolatey will be used to deploy packages. In this setup, I have a Puppet master with the hostname “puppet-master” and a Windows client with the hostname ‘win-test-1″. Please note I assume your Puppet master is been configured.

[root@puppet-master ~]# puppet module install puppetlabs/windows

Read more at Toms IT Pro

Comments are closed.