Last active
January 15, 2018 16:25
-
-
Save jgmuchiri/fcae290755113108bd588295f7cd96a0 to your computer and use it in GitHub Desktop.
Laravel pre-distribution clean up and package to zip project excluding files that don't need to be shipped
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#This program automates creating a clean archive for public release of | |
#Laravel framework based application. For security, you will need to append .env-example to your final zip archive. | |
#For Windows with Ubuntu sub-system, create a .bat file called deploy.bat and append ./laravel-deploy.bash. | |
#Then you can click on the .bat to run deployment script. | |
# | |
# The format of the final filename is myfile-mm-dd-YYYY-v1.zip. "v1" increments to v2 and so forth in consequent runs. | |
# | |
#Target filename | |
name="myfile" | |
#Target directory with no trailing slash! | |
target="/home/my-directory" | |
echo $(php artisan view:clear) | |
echo $(php artisan config:clear) | |
echo $(php artisan route:clear) | |
echo $(php artisan clear-compiled) | |
echo $(php artisan cache:clear) | |
echo $(composer dump-autoload) | |
echo "Testing target directory..." | |
path="$target/$name/" | |
if [ -d "$path" ] | |
then | |
echo "Found target directory!" | |
else | |
echo "Creating target directory" | |
mkdir -p "$path" | |
fi | |
echo Reading current versions | |
ls "$path" | |
#read -p "Would you like to include Laravel assets? " -n 1 -r | |
# echo | |
# if [[ $REPLY =~ ^[Yy]$ ]] | |
# then | |
# assets="" | |
# else | |
# #exclude if no add "$assets$ after -x on zip command below | |
# assets="resources/assets/" | |
# fi | |
fileName=$(find "$path" -type f -name "$name-*.zip") | |
IFS='-' | |
array=( $fileName ) | |
currentVer="${array[4]//[^0-9]/}" | |
echo "Echo current versions is: $currentVer" | |
newVer="$(($currentVer+1))" | |
echo "Echo new version is: $newVer" | |
find storage/framework/sessions ! -name '.gitignore' -type f -exec rm {} + | |
rm -rf storage/debugbar | |
rm -df public/storage | |
rm -rf bash.exe.stackdump npm-debug.log storage/logs/laravel.log composer.lock | |
touch storage/logs/laravel.log | |
now=$(date +"%m-%d-%Y") | |
zip -r "$path$name-$now-v$newVer.zip" * -x "*.git*" "*.idea*" "*node_modules/*" "*vendor/*" "zip.bash" "deploy.bat" "npm-debug.log" ".env" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment