Skip to content

πŸ‘· μ •μ νŒŒμΌμ„ μ••μΆ•λŒ€μƒμ— μΆ”κ°€ #3

πŸ‘· μ •μ νŒŒμΌμ„ μ••μΆ•λŒ€μƒμ— μΆ”κ°€

πŸ‘· μ •μ νŒŒμΌμ„ μ••μΆ•λŒ€μƒμ— μΆ”κ°€ #3

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