windows_container: image: cirrusci/windowsservercore:2019 os_version: 2019 task: script: ...
By default, Cirrus CI assumes that the container image's host OS is Windows Server 2016. Please specify
filed to override it. Cirrus CI support all versions of Windows Containers including:
!!! warning "Deprecation of 2016 Windows Docker Containers"
Windows Containers 2019 got many performance improvements and image size optimizations comparing to 2016 version.
Therefore Cirrus CI will switch the default
2019 on August 1st 2019 and completely remove support
of 2016 Windows Containers on community cluster starting from September 1st 2019.
windows_container: image: cirrusci/windowsservercore:2019 os_version: 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 a simple 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.