generated from boboko/starter
120 lines
3.0 KiB
PHP
120 lines
3.0 KiB
PHP
@setup
|
|
if (file_exists(__DIR__.'/.env.envoy')) {
|
|
foreach (parse_ini_file(__DIR__.'/.env.envoy') as $key => $value) {
|
|
putenv("$key=$value");
|
|
}
|
|
}
|
|
|
|
$path = getenv('DEPLOY_PATH') ?: '/home/CHANGE_ME/CHANGE_ME_DOMAIN';
|
|
$branch = getenv('DEPLOY_BRANCH') ?: 'master';
|
|
$compose = "docker compose";
|
|
@endsetup
|
|
|
|
@servers(['web' => getenv('DEPLOY_SSH_HOST') ?: 'CHANGE_ME_SSH_HOST', 'local' => '127.0.0.1'])
|
|
|
|
|
|
{{-- DEPLOY --}}
|
|
|
|
@macro('deploy')
|
|
pull
|
|
docker_build
|
|
docker_up
|
|
migrate
|
|
artisan_optimize
|
|
restart_workers
|
|
stoic_generate_thumbs
|
|
done
|
|
@endmacro
|
|
|
|
@task('pull', ['on' => 'web'])
|
|
echo ">>> Pulling latest code..."
|
|
cd {{ $path }}
|
|
git reset --hard
|
|
git pull origin {{ $branch }}
|
|
@endtask
|
|
|
|
@task('docker_build', ['on' => 'web'])
|
|
echo ">>> Building images..."
|
|
cd {{ $path }}
|
|
{{ $compose }} build
|
|
@endtask
|
|
|
|
@task('docker_up', ['on' => 'web'])
|
|
echo ">>> Recreating containers..."
|
|
cd {{ $path }}
|
|
{{ $compose }} up -d --remove-orphans
|
|
@endtask
|
|
|
|
@task('migrate', ['on' => 'web'])
|
|
echo ">>> Running migrations..."
|
|
cd {{ $path }}
|
|
{{ $compose }} exec -T app php artisan migrate --force < /dev/null
|
|
@endtask
|
|
|
|
@task('artisan_optimize', ['on' => 'web'])
|
|
echo ">>> Optimizing..."
|
|
cd {{ $path }}
|
|
{{ $compose }} exec -T app php artisan config:cache < /dev/null
|
|
{{ $compose }} exec -T app php artisan route:cache < /dev/null
|
|
{{-- {{ $compose }} exec -T app php artisan view:cache --}}
|
|
{{ $compose }} exec -T app php artisan event:cache < /dev/null
|
|
@endtask
|
|
|
|
@task('restart_workers', ['on' => 'web'])
|
|
echo ">>> Restarting queue workers..."
|
|
cd {{ $path }}
|
|
{{ $compose }} restart queue
|
|
@endtask
|
|
|
|
@task('password_protect', ['on' => 'web'])
|
|
echo ">>> Maintenance mode on..."
|
|
cd {{ $path }}
|
|
{{ $compose }} exec -T app php artisan down --secret="bobobo" < /dev/null
|
|
@endtask
|
|
|
|
@task('done', ['on' => 'web'])
|
|
echo ""
|
|
echo "✅ Deployment complete!"
|
|
echo ""
|
|
@endtask
|
|
|
|
|
|
{{-- DOWNLOAD EXPORT --}}
|
|
|
|
@macro('download')
|
|
export
|
|
download_export
|
|
@endmacro
|
|
|
|
@task('export', ['on' => 'web'])
|
|
echo ">>> Dumping database and files..."
|
|
cd {{ $path }}
|
|
rm ./storage/app/private/exports/export*
|
|
{{ $compose }} exec -T app php artisan boboko:export:cleanup < /dev/null
|
|
{{ $compose }} exec -T app php artisan boboko:export < /dev/null
|
|
echo ">>> Copying exports to host..."
|
|
mkdir -p {{ $path }}/storage/app/private/exports/
|
|
|
|
{{ $compose }} cp app:/var/www/html/storage/app/private/exports/. {{ $path }}/storage/app/private/exports/
|
|
@endtask
|
|
|
|
@task('download_export', ['on' => 'local'])
|
|
echo ">>> Downloading exports..."
|
|
mkdir -p ./storage/app/private/exports
|
|
|
|
scp -r chico:{{ $path }}/storage/app/private/exports/* ./storage/app/private/exports/
|
|
@endtask
|
|
|
|
|
|
{{-- STOIC THUMBS --}}
|
|
|
|
@macro('stoic_thumbs')
|
|
stoic_generate_thumbs
|
|
@endmacro
|
|
|
|
@task('stoic_generate_thumbs', ['on' => 'web'])
|
|
echo ">>> Generating Stoic thumbnails..."
|
|
cd {{ $path }}
|
|
{{ $compose }} exec -T stoic /app/entrypoint.sh run generate_thumbs
|
|
@endtask
|