Skip to content

Commit 1d3bac9

Browse files
authored
๐Ÿ‘ทci: GitHub Actions: EC2 ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ workflow ์ˆ˜์ • (๋กœ๊ทธ์ธ ์‰˜ ํ™˜๊ฒฝ ๋กœ๋”ฉ ๋ฐ˜์˜)
EC2 Deploy workflow ์ˆ˜์ • - SSH ํ™˜๊ฒฝ ์„ค์ • ์œ ์ง€ - Deploy ๋‹จ๊ณ„์—์„œ bash ๋กœ๊ทธ์ธ ์‰˜ ์ ์šฉ - npm, pm2 ํ™˜๊ฒฝ ๋กœ๋”ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ
1 parent 896257a commit 1d3bac9

1 file changed

Lines changed: 19 additions & 25 deletions

File tree

โ€Ž.github/workflows/deploy.ymlโ€Ž

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,41 +14,35 @@ jobs:
1414
uses: actions/checkout@v4
1515

1616
- name: Setup SSH
17-
shell: bash
1817
run: |
19-
mkdir -p "$HOME/.ssh"
20-
echo "${{ secrets.EC2_SSH_KEY }}" > "$HOME/.ssh/id_rsa"
21-
chmod 600 "$HOME/.ssh/id_rsa"
22-
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> "$HOME/.ssh/known_hosts"
18+
mkdir -p ~/.ssh
19+
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/id_rsa
20+
chmod 600 ~/.ssh/id_rsa
21+
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
2322
2423
- name: Deploy to EC2
2524
run: |
26-
ssh \
27-
-o ServerAliveInterval=30 \
28-
-o ServerAliveCountMax=10 \
29-
-o StrictHostKeyChecking=no \
30-
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
31-
25+
ssh ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
3226
set -e
3327
34-
echo "๐Ÿ“‚ Move to project directory"
35-
cd ~/ssakssak-commit
28+
bash -l << 'INNER'
29+
set -e
3630
37-
echo "๐Ÿ“ฆ Pull latest code"
38-
git pull origin main
31+
cd ~/ssakssak-commit
3932
40-
echo "๐Ÿ“ฆ Install dependencies"
41-
npm ci --no-audit --no-fund
33+
echo "๐Ÿ“ฆ Pull latest code"
34+
git pull origin main
4235
43-
echo "๐Ÿ— Build Next.js"
44-
npm run build
36+
echo "๐Ÿ“ฆ Install dependencies"
37+
npm ci
4538
46-
echo "๐Ÿš€ Reload PM2 apps (zero-downtime)"
47-
pm2 reload next-app || pm2 start npm --name "next-app" -- run start -- --port 3000
48-
pm2 reload ssakssak-worker || pm2 start npm --name "ssakssak-worker" -- run worker:start
39+
echo "๐Ÿ— Build Next.js"
40+
npm run build
4941
50-
echo "๐Ÿ’พ Save PM2 process list"
51-
pm2 save
42+
echo "๐Ÿš€ Reload PM2 apps"
43+
pm2 reload next-app || pm2 start npm --name "next-app" -- run start -- --port 3000
44+
pm2 reload ssakssak-worker || pm2 start npm --name "ssakssak-worker" -- run worker:start
5245
53-
echo "โœ… Deploy finished successfully"
46+
pm2 save
47+
INNER
5448
EOF

0 commit comments

Comments
ย (0)