Files
portal/deploy.sh
2020-04-15 18:22:20 +02:00

100 lines
2.3 KiB
Bash

#!/bin/bash
input=".env"
while IFS= read -r line
do
if [ "APP_ENV" == "${line%=*}" ]; then
env="${line##*=}"
elif [ "DB_DATABASE" == "${line%=*}" ]; then
database="${line##*=}"
elif [ "DB_USERNAME" == "${line%=*}" ]; then
user="${line##*=}"
elif [ "DB_PASSWORD" == "${line%=*}" ]; then
pass="${line##*=}"
elif [ "RSYNC_SAV" == "${line%=*}" ]; then
rsync="${line##*=}"
fi
done < "$input"
year=$(date +"%Y")
month=$(date +"%m")
day=$(date +"%d")
hour=$(date +"%H")
minutes=$(date +"%M")
if [ -z "$1" ]; then
if [ -d "storage/logs/database" ];
then
echo "storage/logs/database/ exist"
else
mkdir database
fi
mysqldump --user="$user" --password="$pass" -B "$database" > storage/logs/database/save-"$database"-"$year""$month""$day"-"$hour""$minutes".sql
if [ "$rsync" ]; then
echo 'save by Rsync'
rsync -avz --progress storage/logs/database/save-"$database"-"$year""$month""$day"-"$hour""$minutes".sql ssh $rsync
fi
if [ "production" == "$env" ];
then
echo "deploy in production"
git pull origin production
composer install
php artisan migrate --force
php artisan optimize
npm install --no-progress
npm run prod
fi
elif [ "$1" = save-sql ]; then
if [ -d "storage/logs/database" ];
then
echo "storage/logs/database/ exist"
else
mkdir database
fi
mysqldump --user="$user" --password="$pass" -B "$database" > storage/logs/database/save-"$database"-"$year""$month""$day"-"$hour""$minutes".sql
if [ "$rsync" ]; then
echo 'save by Rsync'
rsync -avz --progress storage/logs/database/save-"$database"-"$year""$month""$day"-"$hour""$minutes".sql ssh $rsync
fi
elif [ "$1" = git-prod ]; then
if [ "production" == "$env" ];
then
echo "deploy in production"
git pull origin production
composer install
php artisan migrate --force
php artisan optimize
fi
elif [ "$1" = npm ]; then
if [ "production" == "$env" ];
then
npm install --no-progress
npm run prod
fi
elif [ "$1" = --help ]; then
echo "save-sql"
echo "git-prod"
echo "npm"
echo "all"
else
echo "Nothing"
fi