How to Install Windows software with Ansible?
Today I’m going to reveal a secret to installing the software in a Windows-managed host using Chocolatey Package Manager. I’m Luca Berton and welcome to today’s episode of Ansible Pilot
Ansible module win_chocolatey
Chocolatey is the package manager for windows, it has the largest online registry of Windows packages.
At the moment it contains nearly 9000 Community Maintained Packages.
Today we’re talking about Ansible module win_chocolatey
to automate the software installation process.
The full name is chocolatey.chocolatey.win_chocolatey
, which means that is part of the collection distributed by “chocolatey”.
It manages packages in Windows using chocolatey. It’s the windows correspondent of the ansible package module.
Parameters
name
list-string - the name of the packagestate
string - present / latest /absent /downgrade /reinstalledversion
string - specific versionpinned
boolean - no/yessource
string - URL/path
The parameter list is pretty wide but this four are the most important options.
In the “name
” parameter you are going to specify the name of the package or a list of packages.
If you would like to install a specific version you could specify it in the “version
” parameter.
The state specifies the action that we would like to perform. In our case for install is “present or latest”.
I’d like to mention some additional parameters that might be useful for you.
The “pinned” parameter allows to pin the Chocolatey package or not. Pin a package to suppress upgrades.
During the next upgrade for all packages, Chocolatey will automatically skip the pinned packages.
“source
” allows specifying a local repository for packages if available.
Playbook
Are you ready to make your hands dirty? Let’s jump in a quick live Playbook of a playbook about the win_chocolatey module.
- win_chocolatey.yml
---
- name: win_chocolatey module Playbook
hosts: all
become: false
gather_facts: false
vars:
- packages:
- git
- notepadplusplus
tasks:
- name: install packages
chocolatey.chocolatey.win_chocolatey:
name: "{{ packages }}"
state: present
Conclusion
Now you know better the Ansible module win_chocolatey and how you could use it successfully in your playbook to automate your day-to-day activities. Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.
Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate