什么是 Azure Pipelines?
Azure Pipelines 会自动生成和测试代码项目,以使其可供其他人使用。 它几乎适用于任何语言或项目类型。 Azure Pipelines 将持续集成 (CI) 和持续交付 (CD) 组合在一起,可以持续且一致地测试并生成代码,并将代码发送给任何目标。
"持续集成" (CI) 是开发团队用来自动执行代码合并和测试的实践。 实现 CI 有助于在开发周期的初期捕获 bug,这使得修复起来降低了成本。 自动测试作为 CI 过程的一部分执行,以确保质量。 项目是从 CI 系统生成的,并送到发布进程以驱动频繁的部署。 TFS 中的生成服务可帮助你设置和管理应用程序的 CI。
持续交付 (CD) 是一种在一个或多个测试环境和生产环境中构建、测试和部署代码的过程。 在多个环境中部署和测试驱动质量。 CI 系统生成可部署的项目,包括基础结构和应用。 自动发布过程使用这些项目发布新版本并修复现有系统。 系统会持续监视和警报系统,以促进整个 CD 过程的可见性。 TFS 中的 Release service 可帮助你设置和管理应用程序的 CD。
在本地或云中 (CT) 的连续测试是使用自动生成-部署-测试工作流,以及选择的技术和框架,以快速、可缩放且高效的方式连续测试你的更改。
版本控制系统
为应用程序配置 CI 和 CD 的起点是在版本控制系统中包含源代码。 Azure DevOps 支持两种形式的版本控制-Git 和 Team Foundation 版本控制 (TFVC) 。 生成服务会将这两个版本控制系统集成在一起。 配置 CI 后,推送到版本控制存储库的任何更改都将自动生成并验证。
你还可以在 GitHub、GitHub Enterprise、Bitbucket Cloud、Subversion 或任何其他 Git 存储库中管理你的源代码。
语言
可以将许多语言与 Azure Pipelines (例如 Python、Java、JavaScript、PHP、Ruby、c #、c + + 和中转)结合使用。
应用程序类型
可以将 Azure Pipelines 与大多数应用程序类型(例如 Java、JavaScript、Node.js、Python、.NET、c + +、中转、PHP 和 XCode)配合使用。
若要配置 CI,请创建管道定义。 管道定义是要运行以生成和测试应用程序的自动化过程的表示形式。 自动化过程定义为一系列任务。 Azure DevOps 提供了许多任务来生成和测试应用程序。 例如,生成 .Net、Java、Node、Android、Xcode 和 c + + 应用程序的任务。 同样,还可以使用多个测试框架和服务来运行测试。 你还可以在自动化中运行命令行、PowerShell 或 Shell 脚本。
部署目标
使用 Azure Pipelines 将你的代码部署到多个目标。 目标包括虚拟机、容器、本地和云平台,或 PaaS 服务。 你还可以将移动应用程序发布到应用商店。
进行持续集成后,下一步就是创建发布定义,以将应用程序自动部署到一个或多个环境。 此自动化过程再次定义为任务集合。
连续测试
无论你的应用程序是位于本地还是云中,都可以自动执行生成-部署-测试工作流并选择技术和框架,然后以快速、可缩放且高效的方式 连续测试你的更改 。
维护质量并在开发时发现问题。 使用 TFS 进行连续测试可确保你的应用在每次签入和生成后仍能正常工作,从而使你能够通过每次生成自动运行测试来发现问题。
任何测试类型和任何测试框架。 选择你想要使用的测试技术和框架。
丰富的分析和报告。 完成生成后,查看测试结果以开始解决你发现的问题。 丰富的、可操作的生成时生成报表使你可以立即了解你的生成是否获得比较健康。 但这并不只是关于速度详细的可自定义的测试结果,而是度量应用的质量。
包格式
若要生成可供其他人使用的包,可以将 NuGet、npm 或 Maven 包发布到 Azure Pipelines 中的内置包管理存储库。 你还可以使用所选的任何其他包管理存储库。
Azure Pipelines 需要使用哪些功能?
若要使用 Azure Pipelines,需要:
Azure DevOps 中的组织。
将源代码存储在版本控制系统中。
定价
如果使用公共项目,Azure Pipelines 是免费的。 若要了解详细信息,请参阅 什么是公共项目? 如果使用专用项目,每月最多可以运行1800分钟 (30 小时的管道作业) 。 了解有关定价如何基于 并行作业的详细信息。
为什么要使用 Azure Pipelines?
实现 CI 和 CD 管道有助于确保可供用户随时使用的一致和质量代码。 Azure Pipelines 提供了一种快速、简单和安全的方法来自动生成项目并使其可供用户使用。
使用 Azure Pipelines,因为它支持以下方案:
适用于任何语言或平台
同时部署到不同类型的目标
与 Azure 部署集成
在 Windows、Linux 或 Mac 计算机上生成
与 GitHub 集成
适用于开源项目。