Skip to content

Commit 42fd1b3

Browse files
authored
Merge pull request #91 from umc-commit/refactor/90-cd-refactor
[REFACTOR] CD 코드 수정
2 parents d1b2c1d + 43b6eae commit 42fd1b3

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

.github/workflows/cd.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
mkdir -p ~/.ssh
2020
echo "$EC2_SSH_KEY" > ~/.ssh/id_rsa
2121
chmod 600 ~/.ssh/id_rsa
22+
ssh-keyscan -H $EC2_HOST >> ~/.ssh/known_hosts
2223
2324
cat >>~/.ssh/config <<END
2425
Host ec2
@@ -31,10 +32,10 @@ jobs:
3132
EC2_HOST: ${{ secrets.EC2_HOST }}
3233
EC2_SSH_KEY: ${{ secrets.EC2_SSH_KEY }}
3334

34-
- name: Copy code to EC2
35+
- name: Copy code to EC2 (using rsync)
3536
run: |
3637
ssh ec2 "sudo mkdir -p /opt/app && sudo chown ubuntu:ubuntu /opt/app"
37-
scp -r ./ ec2:/opt/app
38+
rsync -avz --delete -e "ssh" ./ ec2:/opt/app
3839
3940
- name: Create .env file
4041
run: |
@@ -45,5 +46,22 @@ jobs:
4546
- name: Install dependencies
4647
run: ssh ec2 "cd /opt/app && npm install"
4748

48-
- name: Restart systemd service
49-
run: ssh ec2 "sudo systemctl restart app"
49+
- name: Create systemd service
50+
run: |
51+
ssh ec2 "echo '[Unit]
52+
Description=Node.js App
53+
After=network.target
54+
55+
[Service]
56+
User=ubuntu
57+
ExecStart=/usr/bin/npm run start --prefix /opt/app/
58+
Restart=always
59+
60+
[Install]
61+
WantedBy=multi-user.target' | sudo tee /etc/systemd/system/app.service"
62+
63+
- name: Enable & Restart systemd service
64+
run: |
65+
ssh ec2 "sudo systemctl daemon-reload"
66+
ssh ec2 "sudo systemctl enable app"
67+
ssh ec2 "sudo systemctl restart app"

0 commit comments

Comments
 (0)