什么是 Azure Pipelines?

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines 自动生成和测试代码项目。 它支持所有主要语言和项目类型,并结合了持续集成持续交付持续测试,可以生成、测试代码并将其交付到任何目标。

Azure Pipelines 概述的屏幕截图。

持续集成

持续集成 (CI) 是开发团队在自动化、合并和测试代码时采用的做法。 CI 有助于在开发周期的早期发现 bug,从而降低 bug 修复成本。 自动测试作为 CI 过程的一部分执行以确保质量。 CI 系统生成工件并将其馈送给发布过程,以驱动频繁部署。

Azure DevOps Server 中的生成服务可帮助你为应用程序设置和管理 CI。

持续交付

持续交付 (CD) 是生成、测试代码并将其部署到一个或多个测试和生产环境的过程。 在多个环境中进行部署和测试可提高质量。 CD 系统生成可部署的工件,包括基础结构和应用。 自动发布过程使用这些工件将新版本和修补程序发布到现有系统。 监视和发送警报的系统持续运行,以提高整个 CD 过程的可见性。

持续测试

无论应用是在本地还是云端,都可以自动化“生成-部署-测试”工作流,并选择技术和框架。 然后,你可以快速高效地以可缩放的方式不断持续更改。 持续测试提供以下好处。

  • 保持质量,在开发过程中发现问题。 使用 Azure DevOps Server 进行持续测试可确保应用在每次签入和生成后仍能正常运行,使你能够通过对每个生成自动运行测试来提前发现问题。
  • 使用任何测试类型和任何测试框架。 选择你偏好的测试技术和框架。
  • 查看丰富的分析数据和报告。 生成完成后,查看测试结果以解决任何问题。 可操作的生成报告让你可以立即知道生成运行状况是否更好。 但这不仅仅与速度有关 - 详细且可自定义的测试结果会衡量应用的质量。

版本控制系统

Azure Pipelines 要求源代码位于版本控制系统中。 Azure DevOps 支持两种形式的版本控制 - GitAzure Repos。 将自动生成并验证推送到版本控制存储库的任何更改。

语言和应用程序

可以生成、测试和部署 Node.js、Python、Java、PHP、Ruby、C#、C++、Go、XCode、.NET、Android 和 iOS 应用程序。 在 Linux、macOS 和 Windows 上并行运行这些应用。

Azure DevOps 提供生成和测试 .NET、Java、Node、Android、Xcode 和 C++ 应用程序的任务。 同样,有些任务可以使用许多测试框架和服务来运行测试。 还可以在自动化中运行命令行、PowerShell 或 Shell 脚本。

部署目标

使用 Azure Pipelines 将代码部署到多个目标。 目标包括虚拟机、环境、容器、本地和云平台或 PaaS 服务。 还可以将移动应用程序发布到商店。

实施持续集成后,创建一个发布定义以自动将应用程序部署到一个或多个环境。 此自动化过程被定义为任务的集合。

包格式

若要生成其他人可使用的包,可以将 NuGet、npm 或 Maven 包发布到 Azure Pipelines 中的内置包管理存储库。 也可使用所选的任何其他包管理存储库。

需要满足哪些条件才能使用 Azure Pipelines?

若要使用 Azure Pipelines,请完成以下任务:

Azure DevOps 定价

Azure DevOps Services

如果使用公共项目,则 Azure Pipelines 是免费的,但你需要请求免费授予并行作业。 可以通过提交请求来请求此授予。 现有组织和项目不受影响。

有关详细信息,请参阅什么是公共项目。 如果使用专用项目,每月最多可以免费运行管道作业 1,800 分钟(30 小时)。

有关详细信息,请参阅基于并行作业的定价Azure DevOps Services 定价

Azure DevOps Server

如果活跃用户不超过五个,则 Azure DevOps Express 是免费的,可以方便地对其进行设置并安装在客户端和服务器操作系统上。 它支持 Azure DevOps Server 2019 具备的所有功能。

有关详细信息,请参阅 Azure DevOps Server 定价

为何使用 Azure Pipelines?

Azure Pipelines 为用户提供随时可用的快速、简单且安全的方法让他们使用一致且高质量的代码自动生成项目。

可以使用 Azure Pipelines 来支持以下方案:

  • 使用任何语言或平台展开工作
  • 同时部署到不同类型的目标
  • 与 Azure 部署集成
  • 在 Windows、Linux 或 Mac 计算机上生成
  • 与 GitHub 集成
  • 处理开源项目

后续步骤