跳到主要内容

并发与并行

详细了解Buddy中的并发流水线与并行操作

流水线的并发性和并行操作都可以让您减少执行完成的等待时间

在工作区帐户中指定可以同时运行的流水线和操作的数量。

流水线并发

流水线并发定义为可以同时运行的流水线数量。当运行的流水线数量超过您的帐户类型允许的数量时,后续执行将被排入队列,等待所有先前触发的流水线运行完成。

信息

并发流水线的数量由每个工作区确定

Two pipelines running in concurrency

并行操作

由于支持并行性,您可以同时在一个流水线中执行多个操作。

例如:为了加快测试速度,您可以同时运行多个测试。并行操作的另一个常见用例是一次性将文件部署到几个服务器。

可行的并行操作的数量取决于所选的帐户类型。如果您的帐户类型允许2个并发流水线和2个并行操作,则意味着您可以同时运行2个具有4个操作的流水线(每个流水线中有2个操作)。

您可以在下面看到如何配置流水线以并行运行测试

并行运行测试

  1. 在您的项目中新建一个流水线
  2. 从操作列表中选择分开测试文件操作 分开测试操作
  3. 选择要将测试拆分成的组(包)的数量。在这个例子中,我们将使用3个包。
信息

确保不要超过您帐户中允许的最大并行操作数

  1. 选择是否要按字母顺序或文件大小排序
  2. 提供包含测试文件的目录的路径。您可以通过两种方式实现:
    • 选择一个包含要拆分路径的文件(每行一个路径)
    • 使用全局模式:
      • * – 匹配任何字符序列(不包括路径分隔符)
      • ** – 匹配任何字符序列(包括路径分隔符)
      • ? – 匹配任何单个字符(不包括路径分隔符)
      • [abc] – 将任何字符(不包括路径分隔符)与括号中的字符匹配
      • {foo,bar,...} – 如果大括号中的任何替代项匹配,则匹配一个字符序列
  3. 准备就绪后保存操作: 分开测试操作配置
  4. 该操作会创建并行运行测试所需的环境变量:$BUDDY_SPLIT_1、$BUDDY_SPLIT_2、$BUDDY_SPLIT_3等。执行流水线后,您将在日志中看到相关信息。 Split tests action logs
  5. 接下来,您需要为所选构建操作中的测试(安装依赖项等)准备环境: Build action command console
  6. 最后一部分是添加将使用分开测试操作中适当变量运行测试的操作: Setting proper variables from Split Tests action

您可以看到我们添加了3个测试操作 - 因为我们选择将测试分开为3个操作:

Split tests pipeline example

参看