CircleCI 在步数后并行开始 运行 步
CircleCI start running steps in parallel after number of steps
我有一个 config.yaml
用于我的 CirleCI 工作流程。
我使用 PHPUnit 来 运行 我的测试,但我想开始 运行 使用 Circle 并行执行这些测试以加快部署过程。
所以 BuildJob
看起来像这样:
jobs:
# build-job
build-job:
<<: *defaults
resource_class: large
steps:
- checkout
- run: sudo apt install -y libsqlite3-dev zlib1g-dev libpng-dev libxml2-dev
- run: sudo docker-php-ext-install zip
- run: sudo docker-php-ext-install gd
- run: sudo docker-php-ext-install soap
- run: sudo docker-php-ext-install bcmath
- run: sudo composer self-update
- restore_cache:
keys:
- composer-v1-{{ checksum "composer.lock" }}
- composer-v1-
- run: composer install -n --prefer-dist
- save_cache:
key: composer-v1-{{ checksum "composer.lock" }}
paths:
- vendor
- restore_cache:
keys:
- node-v1-{{ checksum "package.json" }}
- node-v1-
- run:
name: Create sqlite db
command: touch database/database.sqlite
- run:
name: Run tests
command: ./vendor/bin/phpunit -d memory_limit=512M
- persist_to_workspace:
root: ~/laravel
paths: .
所以我知道我需要在并行 运行 的步骤之前将 parallelism: 4
添加到那里,如记录 here 但我需要最多 [=15= 的步骤] 为了。然后我将有多个 运行 测试步骤来命中每个测试文件夹。
有没有办法实现这个?
根据此讨论 (https://discuss.circleci.com/t/how-to-execute-phpunit-tests-in-parallel/25622),使用 CircleCI CLI 命令 circleci tests split
为并行容器拆分测试的常用方法不适用于 phpunit。但是,正如@matfax 所说,您可以 运行 几个逻辑组中的测试吗?像
./vendor/bin/phpunit tests/ThisGroup
./vendor/bin/phpunit tests/ThatGroup
如果是这样,那么您可以 运行 在 CircleCI 工作流中并行作业中的每个命令。
我有一个 config.yaml
用于我的 CirleCI 工作流程。
我使用 PHPUnit 来 运行 我的测试,但我想开始 运行 使用 Circle 并行执行这些测试以加快部署过程。
所以 BuildJob
看起来像这样:
jobs:
# build-job
build-job:
<<: *defaults
resource_class: large
steps:
- checkout
- run: sudo apt install -y libsqlite3-dev zlib1g-dev libpng-dev libxml2-dev
- run: sudo docker-php-ext-install zip
- run: sudo docker-php-ext-install gd
- run: sudo docker-php-ext-install soap
- run: sudo docker-php-ext-install bcmath
- run: sudo composer self-update
- restore_cache:
keys:
- composer-v1-{{ checksum "composer.lock" }}
- composer-v1-
- run: composer install -n --prefer-dist
- save_cache:
key: composer-v1-{{ checksum "composer.lock" }}
paths:
- vendor
- restore_cache:
keys:
- node-v1-{{ checksum "package.json" }}
- node-v1-
- run:
name: Create sqlite db
command: touch database/database.sqlite
- run:
name: Run tests
command: ./vendor/bin/phpunit -d memory_limit=512M
- persist_to_workspace:
root: ~/laravel
paths: .
所以我知道我需要在并行 运行 的步骤之前将 parallelism: 4
添加到那里,如记录 here 但我需要最多 [=15= 的步骤] 为了。然后我将有多个 运行 测试步骤来命中每个测试文件夹。
有没有办法实现这个?
根据此讨论 (https://discuss.circleci.com/t/how-to-execute-phpunit-tests-in-parallel/25622),使用 CircleCI CLI 命令 circleci tests split
为并行容器拆分测试的常用方法不适用于 phpunit。但是,正如@matfax 所说,您可以 运行 几个逻辑组中的测试吗?像
./vendor/bin/phpunit tests/ThisGroup
./vendor/bin/phpunit tests/ThatGroup
如果是这样,那么您可以 运行 在 CircleCI 工作流中并行作业中的每个命令。