composer require ebess/laravel-ftp-deployment
php artisan vendor:publish
Create a filesystem disk to deploy to in config/filesystem.php
'disks' => [
// ...
'deployment' => [
'driver' => 'ftp',
'host' => 'ftp.server.org',
'port' => 21,
'username' => 'ftp-user',
'password' => 'ftp-password',
'passive' => true,
'root' => '/'
],
// ...
]
Adjust which files should be deployed and hooks in config/ftp-deployment.php
php artisan deploy:server <servername> <--refresh=0> <--debug=1>
Use refresh to refresh the database migrations and run the seeders. If flag not set, only migration will be run.