Skip to content

Instantly share code, notes, and snippets.

@abkiran
Forked from vool/laravel_post_receive hook
Created September 1, 2018 10:05
Show Gist options
  • Save abkiran/5dec6ce307b510f9774b6035671588e3 to your computer and use it in GitHub Desktop.
Save abkiran/5dec6ce307b510f9774b6035671588e3 to your computer and use it in GitHub Desktop.
Post receive hook for Laravel website deploy
#!/bin/bash
echo "********************"
echo "Post receive hook: Updating website"
echo "********************"
#set the git repo dir
GIT_REPO_DIR=~/git/<repo>.git
echo "The git repo dir is $GIT_REPO_DIR"
WEBROOT=/var/www/<website>
GIT_WORK_TREE=$WEBROOT git checkout -f
#change directory to the project dir
cd $WEBROOT
rm -f storage/cache/*
echo 'cache cleared'
rm -f storage/views/*
echo 'views cleared'
composer install
php artisan migrate --no-interaction
#Basset
#php artisan basset:build
#Bower
# only run if bower.json has changed
echo "** Bower **"
# switch to webroot
cd $GIT_REPO_DIR
# geting a 'fatal: ambiguous argument' from this ?
#changedfiles=( `git diff-tree --no-commit-id --name-only HEAD@{1} HEAD` )
changedfiles=( `git diff-tree --no-commit-id --name-only HEAD^ HEAD` )
#switch back
cd $WEBROOT
# check if bower has been updated, if so install
if [[ "${changedfiles[*]}" =~ "bower.json" ]]; then
echo "bower has been updated - installing"
bower install
echo "bower pruning"
bower prune
fi
# check if composer has been updated, if so install
# Check if the composer.lock file is present
if [[ "${changedfiles[*]}" =~ "composer.lock" ]]; then
# Install or update packages specified in the lock file
echo "composer.lock has been updated - do install"
composer install --no-dev
fi
php artisan cache:clear
@abkiran
Copy link
Author

abkiran commented Sep 4, 2018

How to revert back the release to the previous commit?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment