-
Notifications
You must be signed in to change notification settings - Fork 3
๐ฟ Github Actions CD(์๋๋ฐฐํฌ)
Junsang Yu edited this page Nov 30, 2024
·
1 revision
- github dev ๋ธ๋์น์ ์ ๋ก๋ ์ github actions ์คํ
- github actions์์ ssh๋ก ์๋ฒ ์์คํฌ๋ฆฝํธ ์คํ
- ์๋ฒ ์์คํฌ๋ฆฝํธ๋ก git pull ํ nestjs node ํ๋ก์ธ์ค ์ฌ์คํ
- ํด๋ผ์ด์ธํธ์์ ๋น๋ํ ํ์ผ๋ค์ ์๋ฒ nginx ์ ์ ํ์ผ ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ฌ
https://velog.io/@seongwop/Web-NCP-Github-Actions-%EB%B0%B0%ED%8F%AC-%EC%9E%90%EB%8F%99%ED%99%94
-
on:
ํธ๋ฆฌ๊ฑฐ- dev ๋ธ๋์น์ push๋ ๋ ์คํ(PR์ด ๋จธ์ง๋ ๋)
- workflow_dispatch๋ก ์น์์ ์์๋ก ์คํ ๊ฐ๋ฅ
- jobs:
-
appleboy/ssh-action
์ํฌํ๋ก์ฐ๋ฅผ ์ฌ์ฉํด์ ์๋ฒ์ SSH ๋ช ๋ น์ด ์ ์ก -
host
username
password
port
๋ฅผ github secrets์์ ๊ฐ์ ธ์์ ์คํ -
sh /root/boostcamp/deploy.sh
๋ช ๋ น์ด๋ฅผ ํตํด์ ์์คํฌ๋ฆฝํธ ํ์ผ ์คํ
-
name: Deploy BE to Server
on:
workflow_dispatch:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Run SSH
uses: appleboy/[email protected]
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: sh /root/boostcamp/deploy.sh
-
์๋ฒ ์ค๋น
-
git clone
์ผ๋ก ํ๋ก์ ํธ ํด๋ ํด๋ก -
node
npm
pm2
์ค์น -
pm2 start
๋ช ๋ น์ผ๋ก nestjs ์คํ
-
-
์ ์คํฌ๋ฆฝํธ
-
๋จผ์
/root/web24-GOMZ
๋๋ ํ ๋ฆฌ๋ก ์ด๋ -
์ต์ dev ๋ธ๋์น๋ก
git pull
-
npm ci
ํจํค์ง ์ค์น ์ต์ ํ -
/root/web24-GOMZ/server
nestjs ์๋ฒ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ -
npm run build
nestjs ๋น๋ -
pm2 restart 0
pm2 ์ธ์คํด์ค ์ฌ์คํ -
/root/web24-GOMZ/client
ํด๋ผ์ด์ธํธ ๋๋ ํ ๋ฆฌ ์ด๋ -
npm run build
vite ๋น๋ -
rm -rf /var/www/html/*
nginx ์ ์ ํ์ผ ๋๋ ํ ๋ฆฌ ํด๋ฆฐ -
cp -r ./dist/* /var/www/html
nginx ์ ์ ํ์ผ ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ฌ
#!/bin/bash cd /root/web24-GOMZ git pull origin dev npm ci cd /root/web24-GOMZ/server npm run build pm2 restart 0 cd /root/web24-GOMZ/client npm run build rm -rf /var/www/html/* cp -r ./dist/* /var/www/html
-
- ๐ง ํ ๋น๋ฉ ๋ฐ ๋ธ๋์น ์ ๋ต
- ๐ง ์ฃผ์ ์ ์ ๋ฐ ํ ํ๋ฆฟ ์์ฑ
- ๐ป ํ๋ก์ ํธ ์ด๋ฆ ๋ฐ ๋ก๊ณ ์ ํ๊ธฐ
- ๐ป ๊ธฐํ ์ธ๋ถ์ฌํญ ์ ํ๊ธฐ
- ๐ป ๊ธฐ์ ์คํ ์์
- ๐ป ๋ฐฑ๋ก๊ทธ ์ด์ ์์ฑ
- ๐ป ๊นํ๋ธ ์ํค
- ๐ ๊ธฐํ ๋ฐ MVP ์ ์ง ํ์
- 2๏ธโฃ ์คํ๋ฆฐํธ 2 ์ฃผ๊ฐ ๊ณํ
- ๐งญ ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ
- ๐ฆบ ์ด๋ฒคํธ ํ๋ฆ๋
- ๐ฅ ๋ฐฑ์๋ ์๊ทธ๋๋ง ์๋ฒ ๋ฌธ์
- ๐ฝ ์คํ๋ฆฐํธ 5โ 6 ๋ฐฉํฅ์ฑ
- ๐ ์ต์ข ๋ฐํ ์ค๋น
- ๐ฟ Github Actions CD(์๋๋ฐฐํฌ)
- ๐ API
- โซ forEach๋ async๋ฅผ ๊ธฐ๋ค๋ ค์ฃผ์ง ์๋๋ค
- ๐งช WebRTC SFU ๋ฐ๋ชจ
- ๐ TURN ์๋ฒ ์ธ์ฆ ๋ฐฉ์
- ๐ ๏ธ [ํธ๋ฌ๋ธ์ํ ] /socket.io ๊ฒฝ๋ก๋ก ์ง์์ ์ผ๋ก HTTP ์์ฒญ์ ๋ณด๋ด๋ ๋ฌธ์
- ๐น WebRTC ํ์ํ์์์ ์นด๋ฉ๋ผ ์ํ์ ๋ฐ๋ฅธ ์์คํ ์์ ์ฌ์ฉ๋ ๋ถ์
- ๐ฅ ๋์นญ NAT์์์ WebRTC ์ฐ๊ฒฐ ์๋ฆฝ ๊ณผ์
- ๐ ํ ์คํธ ์ฝ๋์ ๋ชจํน