Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| # Build and deploy React + FastAPI app to Databricks Apps | |
| set -e | |
| echo "π Building Oral Health Policy Pulse for Databricks Apps..." | |
| # Step 1: Build React frontend | |
| echo "" | |
| echo "π¦ Step 1/4: Building React frontend..." | |
| cd frontend | |
| npm install | |
| npm run build | |
| cd .. | |
| # Step 2: Verify build output | |
| echo "" | |
| echo "β Step 2/4: Verifying build..." | |
| if [ -d "api/static" ]; then | |
| echo " Frontend build successful! Static files ready." | |
| else | |
| echo " β Frontend build failed - static files not found" | |
| exit 1 | |
| fi | |
| # Step 3: Deploy to Databricks | |
| echo "" | |
| echo "βοΈ Step 3/4: Deploying to Databricks..." | |
| # Check if Databricks CLI is installed | |
| if ! command -v databricks &> /dev/null; then | |
| echo " β Databricks CLI not found. Installing..." | |
| pip install databricks-cli | |
| fi | |
| # Check for required environment variables | |
| if [ -z "$DATABRICKS_HOST" ] || [ -z "$DATABRICKS_TOKEN" ]; then | |
| echo " β οΈ Please set DATABRICKS_HOST and DATABRICKS_TOKEN environment variables" | |
| echo " Example:" | |
| echo " export DATABRICKS_HOST=https://your-workspace.cloud.databricks.com" | |
| echo " export DATABRICKS_TOKEN=your_token_here" | |
| exit 1 | |
| fi | |
| # Create or update secrets (if they don't exist) | |
| echo " Setting up secrets..." | |
| databricks secrets create-scope --scope oral-health-app 2>/dev/null || true | |
| databricks secrets put --scope oral-health-app --key host --string-value "$DATABRICKS_HOST" 2>/dev/null || true | |
| databricks secrets put --scope oral-health-app --key token --string-value "$DATABRICKS_TOKEN" 2>/dev/null || true | |
| if [ -n "$OPENAI_API_KEY" ]; then | |
| databricks secrets put --scope oral-health-app --key openai_key --string-value "$OPENAI_API_KEY" 2>/dev/null || true | |
| fi | |
| # Deploy the app | |
| echo " Deploying app to Databricks..." | |
| databricks apps deploy oral-health-policy-pulse --source-dir . --config app.yaml | |
| # Step 4: Get app URL | |
| echo "" | |
| echo "β¨ Step 4/4: Deployment complete!" | |
| echo "" | |
| echo "π± Your app is being deployed to Databricks Apps" | |
| echo "π Access it at: ${DATABRICKS_HOST}/apps/oral-health-policy-pulse" | |
| echo "" | |
| echo "To monitor deployment status:" | |
| echo " databricks apps get oral-health-policy-pulse" | |
| echo "" | |
| echo "To view logs:" | |
| echo " databricks apps logs oral-health-policy-pulse" | |
| echo "" | |