Last active
January 29, 2018 13:36
-
-
Save jgmuchiri/560f430f0c320a7c03aac31b05433b36 to your computer and use it in GitHub Desktop.
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. The format of the final filename is myfile-mm-dd-YYYY-v1.zip. "v1" increments to v2 and so forth in consequent runs. For Windows with Ubuntu sub-system, create a …
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 | |
#File: zip.bash | |
#Author:John Muchiri | |
#Date: 10-Aug-2017 | |
# | |
#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