DaleSchool

GitHub 완전 자동화

고급20분

학습 목표

  • Claude Code로 GitHub 이슈를 자동으로 해결할 수 있다
  • PR 리뷰를 Claude에게 맡기는 방법을 안다
  • GitHub Actions에서 Claude Code를 활용하는 패턴을 이해한다

동작하는 코드

GitHub 이슈를 Claude Code로 해결해봅시다:

> gh issue list로 열린 이슈를 보여줘

이슈를 하나 골라서:

> #42 이슈를 해결해줘. 이슈 내용을 읽고, 브랜치를 만들고, 코드를 수정하고, PR을 생성해줘.

Claude가 순서대로 진행합니다:

  1. gh issue view 42로 이슈 내용 확인
  2. git checkout -b fix/issue-42로 브랜치 생성
  3. 코드 수정
  4. 커밋
  5. gh pr create로 PR 생성

전체 과정을 하나의 요청으로 처리합니다.

직접 수정하기

PR 리뷰를 자동화해봅시다:

> gh pr list로 열린 PR을 보여줘
> #15 PR의 변경 사항을 리뷰해줘.
> 코드 품질, 보안, 성능, 테스트 커버리지 관점에서 분석해줘.

Claude가 PR의 diff를 분석하고 상세한 리뷰를 제공합니다. 리뷰 결과를 PR 코멘트로 남기고 싶다면:

> 이 리뷰를 PR 코멘트로 남겨줘

"왜?" — 개발 파이프라인의 AI 통합

GitHub는 대부분의 개발팀에서 워크플로우의 중심입니다. Claude Code를 GitHub과 연결하면 이슈 → 코드 → PR → 리뷰의 전체 사이클을 가속할 수 있습니다.

Claude Code + GitHub 워크플로우

이슈 등록 → Claude가 이슈 분석 → 브랜치 생성 → 코드 수정 → 테스트 → PR 생성 → 리뷰

자주 쓰는 GitHub 자동화 패턴

| 패턴 | 프롬프트 | | ----------- | ------------------------------------------ | | 이슈 해결 | "이슈 #N을 해결해줘" | | PR 생성 | "현재 변경 사항으로 PR을 만들어줘" | | PR 리뷰 | "PR #N의 코드를 리뷰해줘" | | 릴리스 노트 | "최근 릴리스 이후 변경 사항을 정리해줘" | | 이슈 분류 | "열린 이슈들을 분류하고 우선순위를 매겨줘" |

GitHub Actions에서 Claude Code 활용

GitHub Actions에서 Claude Code를 실행하면 CI/CD 파이프라인에 AI를 통합할 수 있습니다:

# .github/workflows/claude-review.yml
name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Claude Code Review
        run: |
          npm install -g @anthropic-ai/claude-code
          claude --print "이 PR의 변경 사항을 리뷰해줘"
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

--print 플래그를 사용하면 Claude Code가 비대화형 모드로 실행되어 결과만 출력합니다.

심화 학습

Claude가 이슈를 잘못 이해하면 어떻게 하나요?

Claude가 이슈를 잘못 해석할 수 있습니다. 이를 방지하려면:

  1. 이슈를 잘 작성하세요 — 재현 단계, 기대 동작, 실제 동작을 명확히
  2. 단계별로 진행하세요 — "이슈를 해결해줘" 대신 "이슈 내용을 요약해줘" → 확인 → "이 방향으로 수정해줘"
  3. PR 리뷰에서 검증하세요 — 자동 생성된 PR도 반드시 사람이 리뷰
  1. 테스트용 이슈를 하나 만들고 Claude에게 해결을 요청해보세요.
  2. 열린 PR의 코드 리뷰를 Claude에게 요청해보세요.
  3. Claude에게 "최근 커밋 10개를 분석해서 릴리스 노트를 작성해줘"라고 요청해보세요.

Q1. Claude Code를 CI/CD에서 비대화형으로 실행하려면 어떤 플래그를 사용하나요?

  • A) --auto
  • B) --ci
  • C) --print
  • D) --non-interactive

참고 자료