GitHub Actions를 이용해 프로젝트의 CI 파이프라인을 구축한 과정을 정리해보고자 합니다. developfeature/* 브랜치에서 코드 변경이 발생할 때마다 자동으로 테스트, 빌드, 코드 스타일 검사를 수행하도록 설정했습니다.

  1. CI 파일 생성
  2. Frontend와 Backend 분리
name: CI

on:
  pull_request:
    branches:
      - develop
      - feature/*
  push:
    branches:
      - develop
      - feature/*

jobs:
  frontend:
    name: Frontend CI
    runs-on: ubuntu-latest
    steps:
      - name: 코드 체크아웃
        uses: actions/checkout@v3

      - name: Node.js 설정
        uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'yarn'

      - name: 의존성 설치
        run: yarn install
        working-directory: packages/frontend

      - name: Lint 검사
        run: yarn lint
        working-directory: packages/frontend

      - name: Prettier 체크
        run: yarn format
        working-directory: packages/frontend

      - name: 빌드
        run: yarn build
        working-directory: packages/frontend

  backend:
    name: Backend CI
    runs-on: ubuntu-latest
    steps:
      - name: 코드 체크아웃
        uses: actions/checkout@v3

      - name: Node.js 설정
        uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'yarn'

      - name: 의존성 설치
        run: yarn install
        working-directory: packages/backend

      - name: Lint 검사
        run: yarn lint
        working-directory: packages/backend

      - name: Prettier 체크
        run: yarn format
        working-directory: packages/backend

      - name: 빌드
        run: yarn build
        working-directory: packages/backend

이 초기 구성으로, 코드 변경 시 자동으로 검사와 빌드가 실행되는 기반이 마련되었습니다. 하지만 이후 ESLint, Prettier, Vite와 Rollup 관련 설정 문제로 여러 차례 에러가 발생했습니다.

no-unused-vars 관련 린트 설정

    '@typescript-eslint/no-unused-vars': 'off',

Prettier 관련 설정