Files
canti/deploy_pwa.sh
T
2026-05-16 17:24:59 +02:00

74 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# --- Configurazione ---
DIST_PATH="www" # Solitamente Ionic usa 'www' o 'dist/app-name'
APP_NAME="CantiCristiani"
echo "🚀 Inizio procedura di deploy PWA per: $APP_NAME"
# 1. Verifica dipendenze
if ! [ -x "$(command -v npm)" ]; then
echo "❌ Errore: npm non è installato." >&2
exit 1
fi
# 1.5 Aggiornamento Versione
VERSION=$(date +'%Y.%m.%d.%H%M')
echo "export const VERSION = '$VERSION';" > src/app/version.ts
echo "🏷️ Versione aggiornata a: $VERSION"
# 2. Build dell'applicazione
echo "📦 Compilazione in corso (Production Build)..."
if ! npm run build -- --configuration=production --base-href=/; then
echo "❌ Errore: La compilazione è fallita. Controlla gli errori sopra."
exit 1
fi
# Verifico se la cartella www esiste (Ionic/Angular)
if [ ! -d "www" ]; then
# Se non c'è www, cerco in dist/
DIST_PATH=$(ls -d dist/*/ 2>/dev/null | head -n 1)
if [ -z "$DIST_PATH" ]; then
echo "❌ Errore: Cartella di build non trovata. Controlla il comando 'npm run build'."
exit 1
fi
fi
echo "✅ Build completata con successo in: $DIST_PATH"
# 2.5 In locale usiamo la root
echo "📁 Build pronta nella root..."
# Nessuna sottocartella ionic necessaria in locale
# Nessun redirect necessario in locale
# 3. Recupero IP locale per connessione da cellulare
IP_ADDRESS=$(ipconfig getifaddr en0 || ipconfig getifaddr en1 || hostname -I | awk '{print $1}')
if [ -z "$IP_ADDRESS" ]; then
IP_ADDRESS="localhost"
fi
echo ""
echo "--------------------------------------------------------"
echo "📱 INSTALLAZIONE SU CELLULARE:"
echo "1. Assicurati che il cellulare sia sulla stessa rete Wi-Fi."
echo "2. Apri il browser (Chrome su Android, Safari su iOS)."
echo "3. Vai all'indirizzo: http://$IP_ADDRESS:8080/ionic/"
echo " ⚠️ NOTA: Per usare il MICROFONO su cellulare, i browser richiedono HTTPS."
echo " Puoi usare uno strumento come 'ngrok' o 'local-ssl-proxy' per testarlo con HTTPS."
echo "4. Una volta caricata l'app:"
echo " - Android: Clicca sui 3 puntini -> 'Installa app' o 'Aggiungi a home'."
echo " - iOS: Clicca l'icona 'Condividi' (quadrato con freccia) -> 'Aggiungi a schermata Home'."
echo "--------------------------------------------------------"
echo ""
# 4. Avvio server locale per test immediato
echo "🌐 Liberazione porta 8080 (se occupata)..."
lsof -ti:8080 | xargs kill -9 2>/dev/null || true
echo "🌐 Avvio server di distribuzione su http://$IP_ADDRESS:8080/ ..."
echo "premi CTRL+C per fermare il server."
npx http-server "$DIST_PATH" -p 8080 -c-1 --proxy "http://localhost:8080?"