如何从GitLab CI测试矩阵中排除指定PHP与数据库组合?
解决方法:通过GitLab CI矩阵排除指定组合
要完全避免启动PHP 7.3搭配MySQL 8.4的测试容器,直接在GitLab CI的parallel.matrix中添加exclude规则即可——该组合会被直接从测试矩阵中移除,根本不会触发任务。
修改后的完整配置如下:
test-php: stage: test parallel: matrix: - PHPVERSION: ["7.3", "7.4", "8.0", "8.2", "8.3"] DBSERVICE: ["mysql:8.0", "mysql:8.4", "mariadb:latest"] exclude: - PHPVERSION: "7.3" DBSERVICE: "mysql:8.4" image: php:$PHPVERSION services: - $DBSERVICE before_script: - ./tests/setup/mysql.sh script: - ./tests/run.sh
核心说明:
exclude字段会从矩阵自动生成的所有组合列表里精准剔除指定配对,不会有任何多余的容器启动操作,完全满足你避免无效容器启动的需求。- 这种方式比在脚本里做版本判断高效得多,直接从CI任务调度层面跳过了不需要的组合,彻底节省容器启动的时间和资源消耗。
内容的提问来源于stack exchange,提问作者Richard Smith
相关产品推荐
相关产品推荐

