O CircleCI recentemente anunciou suporte ao Windows, expandindo o atual conjunto de ambientes de execução suportados que já suportam Linux, Docker e macOS. O suporte ao Windows do CircleCI permite que os usuários executem o pipeline CI/CD em uma máquina virtual Windows.
Até o momento, o CircleCI suporta o Windows Server 2019 com algumas dependências como, suporte ao .NET, Visual Studio, Windows SDK, Docker para Windows, workspaces multi-plataformas, e caches.
De acordo com Rob Zuber, diretor de tecnologia na CircleCI:
Nos últimos anos, os clientes têm demonstrado interesse em construir projetos no Windows. Estamos animados para nos envolver com o ecossistema da Microsoft e ajudar aqueles que usam o Windows, Azure, .NET, e outras tecnologias do stack Microsoft. À medida que aprimoramos nossa solução Windows, também estamos ansiosos para promover a inovação no ecossistema da Microsoft.
Vamos observar o diagrama da plataforma do CircleCI para Windows:
Alguns dos principais benefícios que o suporte ao Windows inclui são:
- Windows jobs são baseados na VM e fornece isolação completa para o build;
- A cada novo job, um ambiente limpo é criado em tempo de execução e destruído logo após o término do job, assegurando a reprodutibilidade do job e a segurança do código, dados, e segredos do ambiente de CI;
- O ambiente Windows no CircleCI também inclui suporte ao Docker Engine - Enterprise para workflows baseado no Docker no Windows;
- Todas as funcionalidades como caches, workspaces, aprovação de jobs e contextos, com o mesmo nível de suporte e interface do usuários, estão disponíveis para os jobs do Windows.
Vamos ver um pedaço de código do arquivo de configuração .circleci/config.yml
que usa três shells (powerShell, bash, e command) para executar etapas de jobs no Windows:
version: 2.1
orbs:
win: circleci/windows@1.0.0
jobs:
build:
executor:
name: win/vs2019
shell: bash.exe
steps:
- checkout
- run: ls -lah
- run:
command: ping circleci.com
shell: cmd.exe
- run:
command: echo 'Este é o powershell'
shell: powershell.exe
A imagem Windows vem com alguns softwares pré-instalados, tais como o Windows Server 2019 Core Datacenter Edition, Visual Studio 2019 Community Edition, shells, .NET Framework 4.8, .NET Core, Git 2.22.0, Git LFS 2.7.2, Windows 10 SDK, Docker Engine - Enterprise version 18.09.7, NuGet CLI 5.2.0.6090, Chocolatey v0.10.15, Azure Service Fabric, OpenJDK 12.0.2, node.js v12.8.0, Ruby 2.6.3, Go 1.12.7, nano 2.5.3,vim 8.0.604, e jq 1.5.
Maiores detalhes sobre o suporte ao Windows do CircleCI podem ser encontrados na página de documentação.