Automating the Software Deployment Lifecycle with Chocolatey, Jenkins and PowerShell

By Paul Broadwith

Elevator Pitch

Traditionally deploying and upgrading software versions in an organization was a mundane manual task loaded with pain and delays.

Using PowerShell, Pester and Chocolatey automated using Jenkins could have you rollout starts within minutes of the software being made available!


At the end of the presentation the attendee will have learned:

  • The traditional organizational software deployment lifecycle;
  • The automated organizational software deployment lifecycle using PowerShell, Pester, Chocolatey and Jenkins;
  • The recommended Chocolatey organizational deployment & upgrade architecture;
  • How Chocolatey sources work and what repositories are and why you should have them;
  • The differences between the recommended package repository options;
  • Internalizing packages to use internally;
  • Testing packages in the deployment lifecycle using PowerShell and Pester;
  • Following through the software deployment lifecycle from test to production;
  • Synchronising repositories using PowerShell;
  • Scheduling package installation and upgrade using PowerShell


I have been using Chocolatey for 3 - 4 years now and now work for Chocolatey since May. For Chocolatey I’ve attended conferences and given workshops aimed at both casual users and business users.

This presentation is aimed at attendees who have a role in managing software installations / deployment onto either endpoint (where that is desktops / laptops or servers) and showing them how using PowerShell, Pester, Chocolatey and Jenkins they can make their life easier. Jenkins is the tool we have chosen as it is one of the most widely known but what is shown is not Jenkins specific so the attendee could substitute it for any similar tool they may use.

The attendees should have an understanding that Chocolatey is a Windows package manager and understand what automation / CI / CD tools are and what they can do and why. They should also have an understanding of PowerShell and an understanding f what Pester is - we use very simple Pester tests to give the attendees a taster of what they can do so an intermediate level (or more) knowledge is not required.