vercel로 배포를 해두고 팀플을 진행하는데 default branch에 팀원 중 한명이 build error 체크를 하지 않고 머지 해버린다면?
에러가 발생하지 않았다면 다행이지만 그렇지 않다면 바로 배포가 중단 되어 버리는 문제를 발견했다.
매번 CI 이름만 들어봤지 이러한 문제를 직접 체험하고 나니왜 필요한지 알게 되었다.
프로젝트 한달 반 정도가 진행되었는데 왜 이제야 도입했을까? 귀찮았기 때문이다. 가끔 build 에러가 생겨도 직접 수정해서 해결했는데 이제는 default branch 머지 전에 미리 체크 할 수 있어 더 편해질 것 같다
CI란 간단히 빌드/테스트 자동화 과정 이다.
pr, push 할 때 마다 빌드, 테스트가 이루어져 잠재적인 에러 가능성을 미리 방지 할 수 있다
name: CI
on:
push:
branches:
- main
- develop
- release
- refactor
pull_request:
branches:
- main
- develop
- release
- refactor
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Dependencies
run: npm ci
- name: Build
run: npm run build
test:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Dependencies
run: npm ci
- name: Run Tests
run: npm test