@@ -47,32 +47,42 @@ jobs:
4747
4848 - name : Deploy to EC2
4949 run : |
50- ssh ec2-user@${{ secrets.EC2_HOST }} << 'EOF'
51- # Navigate to project directory
52- cd mosaic-project-cs4800 || cd mosaic-project-cs4800-main
53-
54- # Pull latest changes
55- git pull origin main || git pull origin master
56-
57- # Make deployment script executable
58- chmod +x deploy-ip.sh
59-
60- # Run deployment script
61- ./deploy-ip.sh ${{ secrets.EC2_HOST }}
62-
63- # Deploy with Docker Compose
64- docker compose -f docker-compose.production.yml down
65- docker compose -f docker-compose.production.yml up -d --build
66-
67- # Wait for services to be healthy
68- sleep 30
69-
70- # Check if services are running
71- docker compose -f docker-compose.production.yml ps
72-
73- # Test backend health
74- curl -f http://localhost:8000/api/v1/utils/health-check/ || echo "Backend health check failed"
75- EOF
50+ ssh ec2-user@${{ secrets.EC2_HOST }} 'bash -s' << 'ENDSSH'
51+ cd mosaic-project-cs4800 || cd mosaic-project-cs4800-main
52+ git pull origin main || git pull origin master
53+ chmod +x deploy-ip.sh
54+ ./deploy-ip.sh ${{ secrets.EC2_HOST }}
55+ cat > .env << 'ENVEOF'
56+ ENVIRONMENT=production
57+ DOMAIN=${{ secrets.EC2_HOST }}
58+ PROJECT_NAME=Mosaic Project
59+ STACK_NAME=mosaic-project-production
60+ BACKEND_CORS_ORIGINS=http://${{ secrets.EC2_HOST }}:5173,http://${{ secrets.EC2_HOST }}:80,http://${{ secrets.EC2_HOST }}
61+ FRONTEND_HOST=http://${{ secrets.EC2_HOST }}:5173
62+ SECRET_KEY=${{ secrets.SECRET_KEY }}
63+ FIRST_SUPERUSER=${{ secrets.FIRST_SUPERUSER }}
64+ FIRST_SUPERUSER_PASSWORD=${{ secrets.FIRST_SUPERUSER_PASSWORD }}
65+ POSTGRES_SERVER=db
66+ POSTGRES_PORT=5432
67+ POSTGRES_USER=postgres
68+ POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}
69+ POSTGRES_DB=app
70+ SMTP_HOST=
71+ SMTP_USER=
72+ SMTP_PASSWORD=
73+ EMAILS_FROM_EMAIL=
74+ DOCKER_IMAGE_BACKEND=mosaic-backend
75+ DOCKER_IMAGE_FRONTEND=mosaic-frontend
76+ TAG=latest
77+ ENVEOF
78+ export DOCKER_BUILDKIT=1
79+ export COMPOSE_DOCKER_CLI_BUILD=1
80+ docker compose -f docker-compose.production.yml down
81+ docker compose -f docker-compose.production.yml up -d --build
82+ sleep 30
83+ docker compose -f docker-compose.production.yml ps
84+ curl -f http://localhost:8000/api/v1/utils/health-check/ || echo "Backend health check failed"
85+ ENDSSH
7686
7787 - name : Verify deployment
7888 run : |
0 commit comments