Files
Eric FELIXINE f8e34562d5
Some checks failed
Build & Deploy Smart App Web / lint (push) Failing after 1s
Build & Deploy Smart App Web / build-web (push) Has been skipped
Build & Deploy Smart App Web / docker-build (push) Has been skipped
Build & Deploy Smart App Web / deploy (push) Has been skipped
feat(smart-app): CI/CD pipeline + deploy scripts
- .gitea/workflows/build-and-deploy.yml:
  - Lint + TypeScript check on PR
  - Expo web build on push to master
  - Deploy via SSH to server (copy to /var/www/smartapp)
  - Docker build alternative
  - Artifact upload for builds
- deploy.sh: manual deploy script (web|docker|api|all)
- app.json: Expo config with bundle IDs
- assets/: generated icons (icon, splash, adaptive, favicon)
- Added expo-pwa, html-webpack-plugin, workbox-webpack-plugin deps
2026-06-01 23:03:11 -04:00

82 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Smart App City — Build & Deploy Script
# Usage: ./deploy.sh [web|api|all]
set -e
FRONTEND_DIR="$(dirname "$0")/smart-app-city/frontend"
DEPLOY_DIR="/var/www/smartapp"
DOCKER_COMPOSE="$(dirname "$0")/smart-app-city/docker-compose.yml"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
echo "🏙️ Smart App City — Deploy (${TIMESTAMP})"
echo "================================================"
build_web() {
echo ""
echo "📦 Building Expo web..."
cd "${FRONTEND_DIR}"
echo " → Install deps..."
npm ci --legacy-peer-deps --silent 2>/dev/null
echo " → Expo export:web..."
npx expo export:web --output-dir dist 2>&1 | tail -5
echo " → Build OK → dist/"
ls -lh dist/ | tail -5
}
deploy_local() {
echo ""
echo "🚀 Deploying to local nginx..."
if [ ! -d "${DEPLOY_DIR}" ]; then
sudo mkdir -p "${DEPLOY_DIR}"
fi
sudo rm -rf "${DEPLOY_DIR:?}"/*
sudo cp -r "${FRONTEND_DIR}/dist/"* "${DEPLOY_DIR}/"
sudo chown -R www-data:www-data "${DEPLOY_DIR}"
echo " → Deployed to ${DEPLOY_DIR}/"
echo " → URL: https://smartapp.digitribe.fr"
}
deploy_docker() {
echo ""
echo "🐳 Deploying via Docker Compose..."
cd "$(dirname "$DOCKER_COMPOSE")"
docker compose up -d --build smartapp-web
echo " → Container smartapp-web restarted"
}
case "${1:-all}" in
web)
build_web
deploy_local
;;
docker)
build_web
deploy_docker
;;
api)
cd "$(dirname "$DOCKER_COMPOSE")"
docker compose up -d --build api-gateway
;;
all)
build_web
deploy_local
deploy_docker
;;
*)
echo "Usage: $0 [web|docker|api|all]"
exit 1
;;
esac
echo ""
echo "✅ Deploy complete!"
echo "🌐 Web: https://smartapp.digitribe.fr"
echo "🔌 API: https://api-smartapp.digitribe.fr"