Skip to content

Commit 5089c38

Browse files
authored
Merge pull request #69 from 9roomMoa/refactor-8
Refactor 8
2 parents 5473530 + 5e0c3a4 commit 5089c38

3 files changed

Lines changed: 11 additions & 10 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ jobs:
3131
EC2_IP: ${{ secrets.EC2_IP }}
3232
EC2_SSH_KEY: ${{ secrets.EC2_SSH_KEY }}
3333

34-
- name: Copy Workspace
34+
- name: Sync Workspace to EC2 (Optimized)
3535
run: |
36-
ssh 9roommoa-ec2 'sudo mkdir -p /opt/app'
36+
ssh 9roommoa-ec2 'mkdir -p /opt/app'
3737
ssh 9roommoa-ec2 'sudo chown ubuntu:ubuntu /opt/app'
38-
scp -r ./[!.]* 9roommoa-ec2:/opt/app
38+
rsync -avz --delete --exclude='.git' --exclude='node_modules' ./ 9roommoa-ec2:/opt/app/
3939
40-
- name: Install dependencies
40+
- name: Install dependencies if needed
4141
run: |
42-
ssh 9roommoa-ec2 'npm install --legacy-peer-deps --prefix /opt/app/' || ssh 9roommoa-ec2 'npm install --force --prefix /opt/app/'
42+
ssh 9roommoa-ec2 'cd /opt/app && if [ -f package-lock.json ]; then npm ci; else npm install --legacy-peer-deps; fi'
4343
44-
- name: Install PM2 Globally
44+
- name: Ensure PM2 is Installed
4545
run: |
46-
ssh 9roommoa-ec2 'sudo npm install -g pm2'
46+
ssh 9roommoa-ec2 'if ! command -v pm2 &> /dev/null; then sudo npm install -g pm2; fi'
4747
48-
- name: Start Application with PM2
48+
- name: Restart Application with PM2 (if running)
4949
run: |
50-
ssh 9roommoa-ec2 'pm2 start /opt/app/app.js --name "9roommoa"'
50+
ssh 9roommoa-ec2 'cd /opt/app && if pm2 list | grep -q "9roommoa"; then pm2 reload 9roommoa; else pm2 start app.js --name "9roommoa"; fi'
5151
5252
- name: Save PM2 Process List
5353
run: |

app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const allowedOrigin = process.env.CLIENT_ORIGIN
4242
app.use(
4343
cors({
4444
origin: allowedOrigin,
45-
methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],
45+
methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],
4646
credentials: true,
4747
})
4848
);

src/validation/task-validation.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ exports.updatingSchema = Joi.object({
2727
dueDate: Joi.date().optional(),
2828
projectScope: Joi.string().valid('Public', 'Restricted').optional(),
2929
isDaily: Joi.boolean().optional(),
30+
description: Joi.string().optional(),
3031
}).min(1);

0 commit comments

Comments
 (0)