Laravel 验证循环
在发起 PR 前、进行重大更改后以及部署前运行。
使用时机
- 在为一个 Laravel 项目开启拉取请求之前
- 在重大重构或依赖升级之后
- 为预生产或生产环境进行部署前验证
- 运行完整的 代码检查 -> 测试 -> 安全检查 -> 部署就绪 流水线
工作原理
- 按顺序运行从环境检查到部署就绪的各个阶段,每一层都建立在前一层的基础上。
- 环境和 Composer 检查是所有其他步骤的关卡;如果它们失败,立即停止。
- 代码检查/静态分析应在运行完整测试和覆盖率检查前确保通过。
- 安全性和迁移审查在测试之后进行,以便在涉及数据或发布步骤之前验证行为。
- 构建/部署就绪以及队列/调度器检查是最后的关卡;任何失败都会阻止发布。
第一阶段:环境检查
php -v
composer --version
php artisan --version
- 验证
.env文件存在且包含必需的键 - 确认生产环境已设置
APP_DEBUG=false - 确认
APP_ENV与目标部署环境匹配(production、staging)
如果在本地使用 Laravel Sail:
./vendor/bin/sail php -v
./vendor/bin/sail artisan --version
第一阶段补充:Composer 和自动加载
composer validate
composer dump-autoload -o
第二阶段:代码检查和静态分析
vendor/bin/pint --test
vendor/bin/phpstan analyse
如果你的项目使用 Psalm 而不是 PHPStan:
vendor/bin/psalm
第三阶段:测试和覆盖率
php artisan test
覆盖率(CI 环境):
XDEBUG_MODE=coverage php artisan test --coverage
CI 示例(格式化 -> 静态分析 -> 测试):
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage
第四阶段:安全和依赖项检查
composer audit
第五阶段:数据库和迁移
php artisan migrate -…