CI 기초: 점검을 자동으로 만들기
CI(Continuous Integration)는 코드를 푸시할 때마다 당신의 점검을 돌리는 로봇이라, 점검 돌리는 것을 잊을 수 없다. 대부분의 플랫폼은 이것을 파일 하나로 만들어준다. 다음은 최소한의 GitHub Actions 예시다:
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm test
이제 모든 푸시가 자동으로 린팅, 타입 체크, 테스트를 거친다. 무언가 실패하면 코드가 머지되기 전에 빨간 표시를 본다. 당신의 스택에 맞게 이 파일을 AI에게 작성하라고 요청할 수도 있다 — "모든 풀 리퀘스트에서 우리의 린트, 타입 체크, 테스트를 돌리는 GitHub Actions 워크플로를 추가하라."
CI의 핵심은 자동화 그 자체가 아니라, 점검을 당신의 기억에서 파이프라인으로 옮긴다는 것이다 — 거기서는 피곤한 밤에도 건너뛸 수 없다. 기본이 초록불로 돌아가면 할 만한 업그레이드가 둘 있다. 첫째, 점검들을 메인 브랜치의 필수 상태(GitHub의 "브랜치 보호 규칙")로 만들어서, 빨간 빌드가 무시할 수 있는 경고가 아니라 말 그대로 머지 버튼을 막게 하라. 둘째, CI가 실패하면 실패 로그를 곧장 AI에게 붙여넣어라: "이 실행에서 CI가 실패했다, 여기 출력이다 — 진단하고 고쳐라." 로그는 정밀한, 기계가 생성한 버그 리포트이고, 그것은 바로 AI가 가장 잘 다루는 종류의 입력이다.