add try catch JWT Tokens expiration #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Backend to EC2 | |
| on: | |
| push: | |
| branches: | |
| - dev | |
| paths: | |
| - 'Backend/**' | |
| - 'AI/**' | |
| - 'docker-compose.yml' | |
| - '.github/workflows/deploy-backend.yml' | |
| jobs: | |
| deploy-backend: | |
| name: Deploy Backend + AI with Docker | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Deploy to Backend EC2 | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.BACKEND_HOST }} | |
| username: ubuntu | |
| key: ${{ secrets.BACKEND_SSH_KEY }} | |
| script: | | |
| echo "==========================================" | |
| echo "π Starting Backend Deployment with Docker" | |
| echo "==========================================" | |
| echo "π Backend Server: 13.250.231.18" | |
| echo "" | |
| # Navigate to deployment directory | |
| cd /var/www/backend || exit 1 | |
| # Backup old version (if exists) | |
| if [ -d "DevAlign" ]; then | |
| echo "π¦ Backing up current version..." | |
| rm -rf DevAlign-backup | |
| cp -r DevAlign DevAlign-backup | |
| echo "β Backup created" | |
| fi | |
| # Clone or pull latest code from dev branch | |
| if [ -d "DevAlign" ]; then | |
| echo "π₯ Pulling latest changes from dev branch..." | |
| cd DevAlign | |
| git fetch origin dev | |
| git reset --hard origin/dev | |
| git pull origin dev | |
| else | |
| echo "π₯ Cloning repository..." | |
| git clone -b dev https://github.com/PentabyteDevAlign/DevAlign.git | |
| cd DevAlign | |
| fi | |
| echo "β Code updated successfully" | |
| echo "" | |
| # Copy environment files from secure location | |
| echo "βοΈ Copying environment variables..." | |
| cp /var/www/backend/.env.backend Backend/.env | |
| cp /var/www/backend/.env.ai AI/.env | |
| echo "β Environment files copied" | |
| echo "" | |
| # Stop existing Docker containers | |
| echo "π Stopping existing Docker containers..." | |
| docker compose down 2>/dev/null || true | |
| echo "β Containers stopped" | |
| echo "" | |
| # Remove old images to save space (optional, but recommended) | |
| echo "π§Ή Cleaning up old Docker images..." | |
| docker image prune -f | |
| echo "" | |
| # Build and start containers | |
| echo "π¨ Building and starting Docker containers..." | |
| docker compose up -d --build | |
| # Wait for containers to be healthy | |
| echo "" | |
| echo "β³ Waiting for containers to start (10 seconds)..." | |
| sleep 10 | |
| # Check container status | |
| echo "" | |
| echo "π Container Status:" | |
| docker compose ps | |
| # Show container logs (last 20 lines) | |
| echo "" | |
| echo "π Recent Backend Logs:" | |
| docker compose logs --tail=20 backend | |
| echo "" | |
| echo "π Recent AI Backend Logs:" | |
| docker compose logs --tail=20 ai-backend | |
| echo "" | |
| echo "==========================================" | |
| echo "β Backend Deployment Complete!" | |
| echo "==========================================" | |
| echo "π Backend API: http://13.250.231.18:5000" | |
| echo "π€ AI API: http://13.250.231.18:8000" | |
| echo "" | |
| echo "π Check logs with:" | |
| echo " docker compose logs -f backend" | |
| echo " docker compose logs -f ai-backend" | |
| echo "" | |
| echo "π Restart containers with:" | |
| echo " docker compose restart" | |
| echo "==========================================" |