Skip to content

๐Ÿšง ๋ชจ๋…ธ๋ ˆํฌ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ์ „ ์ปค๋ฐ‹ #7

๐Ÿšง ๋ชจ๋…ธ๋ ˆํฌ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ์ „ ์ปค๋ฐ‹

๐Ÿšง ๋ชจ๋…ธ๋ ˆํฌ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ์ „ ์ปค๋ฐ‹ #7

Workflow file for this run

# ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์ด๋ฆ„
name: CI Pipeline
# ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ ์กฐ๊ฑด
on:
pull_request:
branches: ["main", "dev"]
push:
branches: ["main", "dev", "feature/*"]
# ์‹คํ–‰๋  ์ž‘์—…(Job)๋“ค
jobs:
# ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ฉ”์ธ ์ž‘์—…
build:
# ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ง€์ •
runs-on: ubuntu-latest
# ์ž‘์—… ๋‹จ๊ณ„(Step)๋“ค
steps:
# 1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ฝ”๋“œ ์ฒดํฌ์•„์›ƒ
- name: Checkout repository
uses: actions/checkout@v5
# 2. Node.js ํ™˜๊ฒฝ ์„ค์ •
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "22" # ์ค‘์š”! -> ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” Node.js ๋ฒ„์ „ ์ง€์ •
# 3. NPM ์˜์กด์„ฑ ์บ์‹ฑ (2๋‹จ๊ณ„ Dependency Install ์ตœ์ ํ™”)
# - node_modules ํด๋”๋ฅผ ์บ์‹ฑํ•˜์—ฌ ๋งค๋ฒˆ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๋Š” ์‹œ๊ฐ„ ์ ˆ์•ฝ
- name: Cache node_modules
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
# 4. ์˜์กด์„ฑ ์„ค์น˜ (2๋‹จ๊ณ„ Dependency Install)
# - CI ํ™˜๊ฒฝ์—์„œ๋Š” 'npm ci'๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •์ .
- name: Install Dependencies
run: npm ci
# 5. ๋นŒ๋“œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ (3๋‹จ๊ณ„ Build Validation)
- name: Run Build
run: npm run build