|
1 | | -name: Deploy Next.js to EC2 |
| 1 | +name: Deploy Express.js to EC2 |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | push: |
@@ -58,11 +58,11 @@ jobs: |
58 | 58 | [ -f ~/.profile ] && source ~/.profile |
59 | 59 | |
60 | 60 | # Set deployment variables |
61 | | - APP_DIR="/home/ubuntu/smar/smar-ios-backend" |
| 61 | + APP_DIR="/home/ubuntu/smar/SMAR-ios-backend" |
62 | 62 | # BACKUP_DIR="/var/backups/jeshwinprince-$(date +%Y%m%d-%H%M%S)" |
63 | 63 |
|
64 | 64 | #! TODO: Replace with actual path to env file |
65 | | - ENV_DIR="/var/www/config/jeshwinprince" |
| 65 | + ENV_DIR="/var/www/config/smar" |
66 | 66 | ENV_FILE="$ENV_DIR/.env.production" |
67 | 67 | |
68 | 68 | # Check if Node.js and npm are available |
@@ -124,47 +124,15 @@ jobs: |
124 | 124 | echo "Installing dependencies..." |
125 | 125 | npm ci --omit=dev |
126 | 126 | |
127 | | - # Build the Next.js application on EC2 |
128 | | - echo "Building Next.js application..." |
129 | | - NODE_ENV=production npm run build |
130 | | - |
131 | 127 | # Set proper permissions |
132 | 128 | sudo chown -R $USER:$USER $APP_DIR |
133 | 129 | |
134 | 130 | # Start the application with PM2 |
135 | | - pm2 start npm --name "SAR-backend" -- start |
| 131 | + pm2 start index.js --name "SMAR-ios-backend" |
136 | 132 | pm2 save |
137 | 133 | |
138 | 134 | # Ensure PM2 starts on boot |
139 | 135 | pm2 startup || true |
140 | 136 | |
141 | 137 | echo "Deployment completed successfully" |
142 | 138 | echo "Environment file location: $ENV_FILE" |
143 | | -
|
144 | | - - name: Health check |
145 | | - |
146 | | - with: |
147 | | - host: ${{ secrets.TEST_HOST }} |
148 | | - username: ${{ secrets.TEST_USERNAME }} |
149 | | - key: ${{ secrets.TEST_SSH_KEY }} |
150 | | - port: ${{ secrets.TEST_SSH_PORT || 22 }} |
151 | | - script: | |
152 | | - # Wait for application to start |
153 | | - sleep 10 |
154 | | - |
155 | | - # Check if application is running |
156 | | - if pm2 list | grep -q "SAR-backend.*online"; then |
157 | | - echo "✅ Application is running successfully" |
158 | | - |
159 | | - # Optional: Test HTTP endpoint |
160 | | - if curl -f http://localhost:5002 > /dev/null 2>&1; then |
161 | | - echo "✅ Application health check passed" |
162 | | - else |
163 | | - echo "⚠️ Application started but health check failed" |
164 | | - exit 1 |
165 | | - fi |
166 | | - else |
167 | | - echo "❌ Application failed to start" |
168 | | - pm2 logs "SAR-backend" --lines 20 |
169 | | - exit 1 |
170 | | - fi |
0 commit comments