windows_container: image: cirrusci/windowsservercore:2019 task: script: ...
By default, Cirrus CI assumes that the container image's host OS is Windows Server 2019. You can specify
to override it. Cirrus CI supports most versions of Windows Containers, including:
windows_container: image: cirrusci/windowsservercore:2019 windows_task: install_script: choco install -y ... ...
By default Cirrus CI agent executed scripts using
cmd.exe. It is possible to override default shell executor by providing
CIRRUS_SHELL environment variable:
env: CIRRUS_SHELL: powershell
It is also possible to use PowerShell scripts inline inside of a script instruction by prefixing it with
windows_task: script: - ps: Get-Location
ps: COMMAND is just a syntactic sugar which transforms it to:
powershell.exe -NoLogo -EncodedCommand base64(COMMAND)
Some software installed with Chocolatey would update
PATH environment variable in system settings and suggest using
refreshenv to pull those changes into the current environment.
refreshenv will overwrite any environment variables set in Cirrus CI configuration with system-configured defaults.
We advise to make necessary changes using
environment instead of using
refreshenv command in scripts.
cirrusci/* Windows containers like
cirrusci/windowsservercore:2016 have Chocolatey pre-installed.
Chocolatey is a package manager for Windows which supports unattended installs of software, useful on headless machines.