Azure Pipeline 并行选项

50次阅读
没有评论

问题描述

在学习使用 Azure Pipelines,正在创建自己的第一个 YAML Pipeline。他的项目是私有的,他正在使用一个多阶段的模板化管道,自托管(self-hosted)方式部署 Java Web 应用程序到 7 个虚拟机(VMs),使用 mvn tomcat7 plugin run 命令在所有 VM 上并行运行 Selenium 自动化测试。模板化管道被调用 7 次以部署到所有 VM,每个 VM 上嵌入的 Tomcat 实例需要保持运行,这要求能够支持并行性。

用户想知道是否可以在保持项目私有的情况下运行多个并行作业。

解决方案

以下解决方案中的操作可能会随着 Azure Pipelines 版本的更新而有所变化,请确保在操作前阅读官方文档并备份重要数据。

在 Azure Pipelines 中,可以根据项目的公有/私有状态以及使用的代理类型,来选择适合的并行作业配置。

方案1:公有项目

如果你的项目是公有的,Azure Pipelines 提供了免费的 Microsoft 托管并行作业,每次运行时间可长达 360 分钟(6 小时),每月没有总体时间限制。这对于较大的项目和长时间运行的作业非常有用。

方案2:私有项目

如果你的项目是私有的,Azure Pipelines 提供了一个免费的作业,每次运行时间可长达 60 分钟,每月总共 1,800 分钟(30 小时)。如果你需要更多的并行性,你可以选择付费来获得额外的并行作业。在私有项目中,免费的资源较少,因此需要权衡是否需要额外的并行作业。

方案3:自托管代理

另一个选择是设置自托管代理(Self-Hosted Agent)。自托管代理允许你在自己的虚拟机或物理机上设置代理,它们可以执行构建和部署任务。你只需要运行一个脚本来配置自托管代理,这个过程大约需要 10 分钟。然后,你可以在代理上安装所需的软件,并且不受托管代理的限制。这为你提供了更大的灵活性和资源控制,特别是当你需要更多的并行性时。

以下是一个设置自托管代理的简单示例:
1. 在 Azure DevOps 门户中,导航到 “组织设置” > “代理池”。
2. 创建一个新的自托管代理池。
3. 按照说明下载并运行代理安装脚本。
4. 配置代理并将其连接到你的项目。

总之,根据你的项目的性质和需求,你可以选择不同的并行作业配置。如果你希望在私有项目中获得更多的并行性,可以考虑付费选项。另外,使用自托管代理可以提供更大的自定义和控制能力,适用于更复杂的场景。在选择配置之前,建议仔细阅读 Azure Pipelines 官方文档以获取最新的信息和操作指南。

请注意:解决方案中提到的操作和配置可能会随着 Azure Pipelines 的更新而变化,建议在实际操作前阅读官方文档以获取最新信息。

正文完