Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Laravel Forge deploy script without downtime
# stop script on error signal
set -e
# remove old deployment folders
if [ -d "/home/forge/deploy" ]; then
rm -R /home/forge/deploy
fi
if [ -d "/home/forge/backup" ]; then
rm -R /home/forge/backup
fi
cp -R /home/forge/default /home/forge/deploy
# Update
cd /home/forge/deploy
git pull origin master
composer install
php artisan migrate --force
# Switch (downtime for microseconds)
mv /home/forge/default /home/forge/backup
mv /home/forge/deploy /home/forge/default
# Reset opcache
echo "<?php opcache_reset(); echo 'opcache reset' . PHP_EOL; ?>" > /home/forge/default/public/opcachereset.php
curl http://localhost/opcachereset.php
rm /home/forge/default/public/opcachereset.php
@olivedev

This comment has been minimized.

Copy link

commented Jan 18, 2018

Is a script really necessary. I have used Envoyer on Cloudways laravel hosting (https://www.cloudways.com/en/laravel-hosting.php ) platform for zero downtime deployment. Didn't need any script for that.

@dolbex

This comment has been minimized.

Copy link

commented May 7, 2018

God, I hate comments like this @olivedev. You also pay for those services.....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.