Parallel processing 我是否可以循环浏览筛选值列表,并在Circle CI中使用每个筛选值启动作业?
类似于但适用于CircleCI而非Jenkins 我有一个工作圈。我的工作之一是运行测试。它接受一个名为Parallel processing 我是否可以循环浏览筛选值列表,并在Circle CI中使用每个筛选值启动作业?,parallel-processing,circleci,Parallel Processing,Circleci,类似于但适用于CircleCI而非Jenkins 我有一个工作圈。我的工作之一是运行测试。它接受一个名为filter的参数,该参数被传递给实际运行测试的命令(jest) 这很好用。但是这里有很多重复 是否有一种方法可以循环浏览筛选值列表,并使用每个值运行作业?您需要的是一个矩阵。下面是一个片段: 工作流: 主要内容: 工作: -测试: 矩阵: 参数: 过滤器: -“--testPathPattern='feedArea.test'” -“--testPathPattern='blackListA
filter
的参数,该参数被传递给实际运行测试的命令(jest
)
这很好用。但是这里有很多重复
是否有一种方法可以循环浏览筛选值列表,并使用每个值运行作业?您需要的是一个矩阵。下面是一个片段:
工作流:
主要内容:
工作:
-测试:
矩阵:
参数:
过滤器:
-“--testPathPattern='feedArea.test'”
-“--testPathPattern='blackListArea.test'”
-“--testPathPattern='projectsAreaV2.test'”
以下是文件:
run tests:
description: Run backend tests
# https://circleci.com/docs/reference-2-1/#docker
parameters:
filter:
description: "Test filter for jest"
default: ""
type: string
executor: full-backend
steps:
- attach_workspace:
at: /home/circleci/project
- run:
# Note the 'circle_test' DB is already created on the DB image
name: Run DB migration
command: |
cd /home/circleci/project; set -o allexport; cp .env.circleci .env; source .env
npm run typeorm -- migration:run
- run:
name: Run tests
# 30GB of 32GB total per resource_class above
command: |
cd /home/circleci/project; set -o allexport; cp .env.circleci .env; source .env
node --max_old_space_size=30720 ./node_modules/.bin/jest --passWithNoTests --runInBand --logHeapUsage << parameters.filter >>
- run tests:
requires:
- install npm packages
name: Test feedArea
filter: --testPathPattern='feedArea.test'
- run tests:
requires:
- install npm packages
name: Test blackListArea
filter: --testPathPattern='blackListArea.test'
- run tests:
requires:
- install npm packages
name: Test projectsAreaV2
filter: --testPathPattern='projectsAreaV2.test'
(and so on)