Test Apps for Laravel
- Find out the earliest supported PHP version for Laravel 8: 7.3.0
docker run -it php:7.3 bash
- Then inside docker:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
apt update && apt install git zip unzip
composer create-project --prefer-dist laravel/laravel 8
- <log out of docker>
docker cp \<docker-id\>:/8 .
- We need to edit this folder in order to fit in nosetest, here is the list of files. Can refer to the
8
folder in master branch- Added
app/Http/Controllers/TestControllers.php
(There are 2 functions for nosetest,nosetest()
&nosetestError()
. They are testing event + listeners, database, cache & exceptions - Added
app/Listeners/NosetestQueuedListener.php
- Added
app/Listeners/NosetestSyncedListener.php
- Updated
app/Providers/EventServiceProvider.php
to listenNoseEvent
- Added
app/Models/Nosetest.php
for database object - Added
app/Events/NoseEvent.php
for event object - Updated
bootstrap/cache
into symbolic link because Jenkins doesn't have admin right in nosetest runtime - Added
database/migrations/2020_10_21_212030_create_nosetest_table.php
to create the database and table in sqlite - Updated
routes/web.php
for/nosetest
&/nosetesterror
routing - Updated
storage/framework/views
into symbolic link because Jenkins doesn't have admin right in nosetest runtime - Added
terminate
function tovendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php
for nosetest [This path can be different from newer laravel version] - Updated
.env
for Jenkins environment
- Added
- Create database and table file by touch
8/database/database.sqlite
- Create database and table from the migrations files by
cd 8 && php artisan migrate
- Make sure all files are committed by editing
.gitignore
files in all folder
Tips: Use php artisan serve
to test the laravel app step by step first and customize the environment setting for Jenkins
Reference: commit from the laravel 6 update