It is possible to run Windows Containers like how one can run Linux containers on Cirrus Cloud Windows Cluster.
To use Windows, add
windows_container instead of
Cirrus CI will execute scripts instructions like Batch scripts.
Cirrus CI assumes that the container image's host OS is Windows Server 2019.
Cirrus CI used to support
1803 versions, but they are deprecated as of April 2021.
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:
It is also possible to use PowerShell scripts inline inside of a script instruction by prefixing it with
ps: COMMAND is just a syntactic sugar which transforms it to:
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.