我们正在借助circle ci 中提供的并行功能来改进总测试执行时间。我们已经实现了 3 的并行性,并且我们能够成功地将测试拆分到所有可用的机器上。到目前为止很好没有问题。
我们面临的问题是关于整合构建通知。在实现并行性之前,在步骤结束时,我们有一个运行步骤以通过电子邮件和聊天发送构建状态通知。
当并行运行时,我们会收到关于我们认为即兴创作的所有三台机器的通知。请提出一种处理方法。以下是我们使用的工作和工作流程示例
要求是,需要根据所有 3 台机器试运行结果发送综合通知。
Jobs:
Sanity-suite:
docker:
- image: circleci/node:12
working_directory: ~/repo
parallelism: 3
steps:
- cache-repo
- dependency-cache
- create-env-vars:
secret_name: “projectspecific variables”
- run:
name: Run Sanity Tests
command: |
FILEPATH=$(circleci tests glob ‘project_specific_path’ | circleci tests split --split-by=timings)
npm run tests
- notify-google-chat
workflows:
sanity-and-functional:
jobs:
- hold-sanity-suite:
type: approval
- sanity-suite:
context: running the endtoend test here
requires:
- hold-sanity-suite