近期,CircleCI宣布支持Windows,这是继Linux、Docker和macOS之后进一步的执行环境支持。CircleCI对Windows的支持,使用户可在Windows虚拟机中运行CI/CD流水线。
当前,CircleCI提供对Windows Server 2019的支持,涵盖了.NET、Visual Studio、Windows SDK、Docker for Windows、跨平台工作空间和缓存等。
据Rob Zuber(CircleCI CTO)介绍:
近几年,我们知悉客户有基于Windows构建项目的需求。 我们很高兴能与Microsoft生态系统互动,帮助那些使用Windows、Azure、.NET等Microsoft技术栈技术的用户更快地交付软件。随着我们自身Windows解决方案的改进,期待能进一步推动在Microsoft生态系统中的创新。
下面是Windows上CircleCI平台示意图:
CircleCI支持Windows平台的一些关键特性包括:
- 基于虚拟机的Windows任务,提供完全独立的构建;
- 为每个新任务提供干净的环境。该环境在运行时构建,并在任务结束时回收。这确保了构建的可重现性、代码和数据的安全性,以及CI环境的私密性。
- CircleCI的Windows环境还涵盖了对Docker Engine的支持,提供基于Docker的企业级Windows工作流。
- 所有CircleCI特性,包括缓存、工作空间、任务审批和场景(Contexts)等,同样也适用于Windows任务,并提供同等的支持和UI。
下面给出的是.circleci/config.yml文件的部分配置。该文件支持使用三种脚本(PowerShell、Bash和命令行)在Windows上运行任务: