CircleCI 提供基于 Windows 虚拟机的 CI/CD 流水线

阅读数:9736 2019 年 8 月 24 日 08:00

CircleCI 提供基于 Windows 虚拟机的 CI/CD 流水线

近期,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 虚拟机的 CI/CD 流水线

CircleCI 支持 Windows 平台的一些关键特性包括:

  • 基于虚拟机的 Windows 任务,提供完全独立的构建;
  • 为每个新任务提供干净的环境。该环境在运行时构建,并在任务结束时回收。这确保了构建的可重现性、代码和数据的安全性,以及 CI 环境的私密性。
  • CircleCI 的 Windows 环境还涵盖了对 Docker Engine 的支持,提供基于 Docker 的企业级 Windows 工作流。
  • 所有 CircleCI 特性,包括缓存、工作空间、任务审批和场景(Contexts)等,同样也适用于 Windows 任务,并提供同等的支持和 UI。

下面给出的是.circleci/config.yml 文件的部分配置。该文件支持使用三种脚本(PowerShell、Bash 和命令行)在 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 'This is powershell'
shell: powershell.exe

Windows 镜像中一并提供了一些预装软件,其中包括 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 和 jq 1.5 等。

CircleCI 支持 Windows 的更多细节,可参见官方文档

原文链接:

Introducing CircleCI Windows Support, a CI/CD Pipeline on a Windows Virtual Machine

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论