Verification loop for Laravel projects: env checks, linting, static analysis, tests with coverage, security scans, and deployment readiness.
PR'lardan önce, büyük değişikliklerden sonra ve deployment öncesi çalıştırın.
php -v
composer --version
php artisan --version
.env'nin mevcut olduğunu ve gerekli anahtarların var olduğunu doğrulayınAPP_DEBUG=false onaylayınAPP_ENV'in hedef deployment'la eşleştiğini onaylayın (production, staging)Yerel olarak Laravel Sail kullanıyorsanız:
./vendor/bin/sail php -v
./vendor/bin/sail artisan --version
composer validate
composer dump-autoload -o
vendor/bin/pint --test
vendor/bin/phpstan analyse
Projeniz PHPStan yerine Psalm kullanıyorsa:
vendor/bin/psalm
php artisan test
Kapsam (CI):
XDEBUG_MODE=coverage php artisan test --coverage
CI örneği (format -> static analiz -> testler):
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage
composer audit
php artisan migrate --pretend
php artisan migrate:status
Y_m_d_His_* formatını takip ettiğinden emin olun (örn. 2025_03_14_154210_create_orders_table.php) ve değişikliği net bir şekilde açıklasındown() metotlarını doğrulayın ve açık yedeklemeler olmadan geri alınamaz veri kaybından kaçınınphp artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
storage/ ve bootstrap/cache/'in yazılabilir olduğunu onaylayınphp artisan schedule:list
php artisan queue:failed
Horizon kullanılıyorsa:
php artisan horizon:status
queue:monitor mevcutsa, job'ları işlemeden biriktirmeyi kontrol etmek için kullanın:
php artisan queue:monitor default --max=100
Aktif doğrulama (sadece staging): özel bir kuyruğa no-op job dispatch edin ve işlemek için tek bir worker çalıştırın (non-sync kuyruk bağlantısının yapılandırıldığından emin olun).
php artisan tinker --execute="dispatch((new App\\Jobs\\QueueHealthcheck())->onQueue('healthcheck'))"
php artisan queue:work --once --queue=healthcheck
Job'un beklenen yan etkiyi ürettiğini doğrulayın (log girişi, healthcheck tablo satırı veya metrik).
Bunu sadece test job'u işlemenin güvenli olduğu non-production ortamlarında çalıştırın.
Minimal akış:
php -v
composer --version
php artisan --version
composer validate
vendor/bin/pint --test
vendor/bin/phpstan analyse
php artisan test
composer audit
php artisan migrate --pretend
php artisan config:cache
php artisan queue:failed
CI tarzı pipeline:
composer validate
composer dump-autoload -o
vendor/bin/pint --test
vendor/bin/phpstan analyse
XDEBUG_MODE=coverage php artisan test --coverage
composer audit
php artisan migrate --pretend
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan schedule:list