什么是 Azure Pipelines?

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Azure Pipelines 自动生成和测试代码项目,使其可供他人使用。 它几乎适用于任何语言或项目类型。 Azure Pipelines 将持续集成 (CI) 和持续交付 (CD) 组合在一起,可以测试并生成代码,并将代码发送给任何目标。

持续集成 (CI) 是开发团队自动合并和测试代码使用的做法。 实现 CI 有助于在开发周期的早期捕获 bug,这使得修复它们的成本更低。 自动测试作为 CI 过程的一部分执行,以确保质量。 Artifacts由 CI 系统生成,并提供给发布过程以推动频繁部署。 Azure DevOps Server中的生成服务可帮助你为应用程序设置和管理 CI。

持续交付 (CD) 是一个过程,它通过该过程生成、测试和部署到一个或多个测试和生产环境。 在多个环境中部署和测试可以提高质量。 CI 系统生成可部署的项目,包括基础结构和应用。 自动化发布过程使用这些项目来发布新版本和对现有系统的修补程序。 监视和警报系统持续运行,以推动整个 CD 过程的可见性。

持续测试 (CT) 本地或云中是使用自动化生成-部署-测试工作流,选择技术和框架,以快速、可缩放且高效的方式持续测试更改。

版本控制系统

为应用程序配置 CI 和 CD 的起始点是在版本控制系统中提供源代码。 Azure DevOps支持两种形式的版本控制 - GitHub和Azure Repos。 将自动生成并验证推送到版本控制存储库的任何更改。

Languages

可以将多种语言与 Azure Pipelines 配合使用,包括 Python、Java、JavaScript、PHP、Ruby、C#、C++ 和 Go。

应用程序类型

可以将Azure Pipelines用于大多数应用程序类型,例如 Java、JavaScript、Node.js、Python、.NET、C++、Go、PHP 和 XCode。

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

部署目标

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

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

持续测试

无论应用是本地还是云中,都可以自动执行生成-部署-测试工作流并选择技术和框架,然后以快速、可缩放且高效的方式 持续测试更改

  • 保持质量,并在开发时发现问题。 使用Azure DevOps Server持续测试可确保应用在每次签入和生成后仍能正常工作,使你能够通过每次生成自动运行测试来发现早期的问题。
  • 任何测试类型和任何测试框架。 选择你喜欢使用的测试技术和框架。
  • 丰富的分析和报告。 生成完成后,请查看测试结果以开始解决问题。 丰富且可操作的生成报表可让你立即查看生成是否更健康。 但它不仅仅是速度 - 详细和可自定义的测试结果测量应用的质量。

包格式

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

我需要使用Azure Pipelines什么?

若要使用Azure Pipelines,需要:

  • Azure DevOps中的组织。
  • 将源代码存储在版本控制系统中。

定价

如果使用公共项目,Azure Pipelines是免费的。 若要了解详细信息,请参阅 什么是公共项目? 如果使用专用项目,则每月最多可以运行 1,800 分钟 (30 小时) 管道作业。 详细了解基于 并行作业的定价工作原理。

为何应使用Azure Pipelines?

实现 CI 和 CD 管道有助于确保可供用户使用的一致和质量代码。 而且,Azure Pipelines提供了一种快速、简单且安全的方法来自动生成项目并将其提供给用户。

使用Azure Pipelines,因为它支持以下方案:

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

后续步骤