[March, 2022] Beta support for new operating system for Windows Executors: Windows Server 2022

CircleCI is proud to offer the most diverse set of compute offerings in the industry for cloud-hosted CI to enable customers to conveniently build, test, and deploy their applications on whatever compute they need. We’re excited to extend the diversity of our platform by announcing support for a new operating system for our Windows executors: Windows Server 2022!

This new Windows Server 2022 image will give customers who use our Windows executors access to the latest and greatest operating system, IDE (Visual Studio 2022), and software (.NET 6 among other tools) from Microsoft.

At this time, the Windows Server 2022 image will co-exist with our Windows Server 2019 images so customers have the option to upgrade but will not lose support to their existing image. A reminder that we’ve also bulked up the amount of storage on our Windows executors to have a default disk size of 200 GB.

You can use the image with an orb just like our other Windows images, see this post for details.

You can also access this image by using our [“Edge” tags] with the machine executor (Hello World On Windows - CircleCI) in your config:

image: 'windows-server-2022-gui:edge'

Feel free to comment in this post if you have any questions or suggestions on what to include in the image. A reminder that the “Edge” tag is a “beta”.

See post below for all of the software that is included in this image.

2 Likes

Important software included in the Windows Server 2022 image (not an exhaustive list):

Git: 2.35.0
GIT LFS: 3.0.2
7zip: 21.7
gzip: 1.3.12
sysinternals:: 2022.2.16
AWS CLI: 2.4.13
Azure CLI: 2.32.0
WebPI: 5.1
Azure Service Fabric Runtime: 8.2.1363
Azure Service Fabric SDK: 5.2.1363
Nunit Console Runner: 3.14.0
Nano: 2.5.3
Vim: 8.2.4219
jq: 1.6
Go: 1.17.6
OpenJDK: 17.0.1
Miniconda: 4.10.3
Python 2: 2.7.11
Python 3: 3.10.2
Node.js: 17.4.0
Ruby: 3.1.0.1
.NET SDK: 6.0.101
SQL Server Dev Edition: 15.0.2000.20210324
Visual Studio Community Edition: 117.0.5.0
Visual Studio Build Tools: 117.0.5.0
Nuget CLI: 6.1.0
WinAppDriver: 1.2.1
Windows Server 2022 Core Datacenter Edition
Chocolatey: Latest version available

1 Like

It appears that docker is not installed. Is that intentional? It’s on the 2019 image.

Hi @uhlenbrock this was not intentional. I will fix it. The fix should be available early next week. I will ping you again once it is fixed. Thanks for bringing this to my attention.

Mike

2 Likes

You can see an example usage using the windows orb here:

Will nvm-windows get included on the 2022 builds? It’s helpful to matrix test against Node.JS versions.

2 Likes

@laupow Good call. I will add it and ping you when its ready!

@mrothstein74 Just checking in on docker support. Is that still en route?

yes it is next on my list, I had an issue i had to address first but it is next on my list i promise.

@laupow Hi, the new ‘edge’ image has nvm 1.1.9 included. Please let me know how it goes. If all goes well I will make it the latest ‘current/stable’ image. Thank you!

@uhlenbrock Hi, the new ‘edge’ image has docker engine 20.10.14 included. Please let me know how it goes. If all goes well I will make it the latest ‘current/stable’ image. Thank you!

@mrothstein74 Thanks for the update. Docker commands do not run with the edge image:

ERROR: error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/info": open //./pipe/docker_engine: The system cannot find the file specified.

Even if I open an Administrator powershell, the same error is displayed. At least I think I was able to elevate the session to Administrator.

It looks like docker is installed via Chocolatey. However, I don’t believe that is the correct way to install docker for Windows Server. Is it possible to use this method instead?

# Add the Docker provider to the PowerShell package manager
Install-Module DockerMsftProvider -Force

# Install Docker EE
Install-Package Docker -ProviderName DockerMsftProvider -Force

# Restart the computer to enable the containers feature
Restart-Computer
1 Like

@uhlenbrock ok. You are correct that it was installed via chocolatey. I will install via powershell and get back to you.

@mrothstein74 Any luck so far?

@uhlenbrock Hi, please try ‘edge’ again. I think the issue should be resolved. Please let me know how it goes. Thanks!

@mrothstein74 It’s running now. Thank you so much for your help!

1 Like

@uhlenbrock no problem man, let me know if you need anything else. Thanks!

@laupow Just checking in. Everything going ok with nvm?

@mrothstein74 The instructions at the top of this thread seem to say that this new configuration is available for the image or executor setup. I need DLC, so I switched to the image setup, but no matter the resource class I select, I get the following error: failed to create host: Image windows-server-2022-vs2022:edge is not compatible with resource class l1.xlarge — Is using DLC possible with windows?

Hi there! The nvm command still isn’t recognized and I do not see nvm installed under C:\ProgramData. This is on Build-agent version 1.0.119451-8e8449a9 with windows-server-2022-vs2022:edge image. Is nvm installed somewhere else?