# Task ID: 4 # Title: CI/CD 파이프라인 구축 # Status: done # Dependencies: 2 # Priority: medium # Description: GitHub Actions를 사용하여 자동 빌드, 테스트, ESLint 검사를 수행하는 워크플로우를 설정합니다. # Details: 1. .github/workflows/ci.yml 파일 생성 2. Node.js 환경 설정 및 의존성 설치 3. TypeScript 빌드 및 타입 검사 4. ESLint 및 Prettier 검사 자동화 5. 테스트 실행 (나중에 추가될 테스트들) 6. 빌드 아티팩트 생성 및 저장 7. PR에서 자동 검사 실행 # Test Strategy: GitHub Actions 워크플로우가 성공적으로 실행되는지 확인, PR 생성 시 자동 검사가 동작하는지 검증, 빌드 실패 시 적절한 에러 메시지 출력 확인 # Subtasks: ## 1. 기본 GitHub Actions 워크플로우 파일 생성 [done] ### Dependencies: None ### Description: .github/workflows/ci.yml 파일을 생성하고 기본 구조를 설정합니다. ### Details: GitHub Actions 워크플로우의 기본 구조를 정의합니다. 트리거 이벤트(push, pull_request), 작업 환경(Ubuntu), Node.js 버전 매트릭스를 설정하고 기본적인 체크아웃 액션을 포함합니다. ## 2. Node.js 환경 설정 및 의존성 설치 단계 구현 [done] ### Dependencies: 4.1 ### Description: Node.js 환경을 설정하고 npm 의존성을 설치하는 단계를 추가합니다. ### Details: actions/setup-node 액션을 사용하여 Node.js 18.x 버전을 설정하고, package-lock.json을 기반으로 한 캐싱 전략을 구현합니다. npm ci 명령어를 사용하여 의존성을 빠르고 안정적으로 설치합니다. ## 3. 빌드 및 코드 품질 검사 단계 구현 [done] ### Dependencies: 4.2 ### Description: TypeScript 빌드, ESLint, Prettier 검사를 수행하는 단계를 구현합니다. ### Details: npm run build 명령어로 TypeScript 컴파일을 실행하고, npm run lint로 ESLint 검사를 수행합니다. Prettier 포맷 검사도 포함하여 코드 스타일 일관성을 확인합니다. 각 단계에서 오류 발생 시 워크플로우가 실패하도록 설정합니다. ## 4. 빌드 아티팩트 업로드 및 테스트 준비 [done] ### Dependencies: 4.3 ### Description: 빌드된 파일들을 아티팩트로 업로드하고 향후 테스트 실행을 위한 구조를 준비합니다. ### Details: actions/upload-artifact 액션을 사용하여 dist 폴더의 빌드 결과물을 아티팩트로 저장합니다. 테스트 실행을 위한 플레이스홀더 단계를 추가하고, 워크플로우가 PR 컨텍스트에서도 올바르게 실행되도록 설정합니다.