Red CI에서 Green PR로 — 자동으로, 안전하게, 그리고 증거와 함께

발행: (2026년 2월 7일 오전 06:22 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

From Red CI to Green PR — 자동화, 안전성, 증거 제공을 위한 커버 이미지

GitHub Copilot CLI 챌린지 제출
이 글은 GitHub Copilot CLI 챌린지를 위한 제출물입니다.

내가 만든 것

나는 copilot-ci-doctor 라는 CLI 도구를 만들었습니다. 이 도구는 GitHub Copilot CLI 를 핵심 추론 엔진으로 사용해 GitHub Actions CI 실패 를 진단하고 자동으로 수정합니다.

시끄러운 로그를 일일이 살펴보고 추측으로 고치는 대신, 이 도구는 실패한 CI 실행을 구조화된 증거 기반 워크플로우로 변환합니다:

실패 → 증거 → 추론 → 안전한 수정 → CI 성공 → 풀 리퀘스트

실패한 워크플로우가 주어지면 copilot-ci-doctor 는:

  • 태그가 달린 Evidence Bundle (레포 메타데이터, 실패한 잡, 로그, 워크플로우 YAML) 을 수집합니다
  • GitHub Copilot CLI 를 사용해 실패 원인을 추론합니다
  • CI가 왜 실패했는지 영어로 설명합니다
  • 최소한의 안전한 패치 diff 와 신뢰도 점수를 생성합니다
  • CI가 통과할 때까지 반복적으로 수정을 적용합니다
  • main 브랜치에 자동으로 Pull Request 를 엽니다

이는 로그 요약이나 자동 완성이 아닙니다. Copilot 은 증거를 기반으로 결론을 정당화해야 하는 추론 엔진 으로 사용됩니다.

데모

40초짜리 엔드‑투‑엔드 데모 (시청 권장):
👉

한 번의 명령 → 실패한 CI → Copilot 추론 → 안전한 수정 → CI 성공 → PR

npx copilot-ci-doctor demo

데모가 보여주는 내용:

  • 고의로 깨진 GitHub Actions 워크플로우를 가진 데모 레포가 생성됩니다
  • CI가 실패합니다 ❌
  • copilot-ci-doctor 가 자동 루프에 들어갑니다:
    • 실패를 분석하고
    • 근본 원인을 설명하고
    • 최소한의 패치를 제안하고
    • 적용 및 푸시하고
    • CI 재실행을 기다립니다
  • 필요에 따라 여러 번 반복됩니다
  • CI가 초록색으로 변합니다 ✅
  • 수정 사항이 포함된 Pull Request 가 자동으로 열립니다

데모는 실제 GitHub 지연 시간을 고려하며 전체 수명 주기를 보여줍니다. 포함 내용:

  • 여러 CI 실패 사례
  • diff 미리보기
  • 반복 점수판
  • 최종 PR 링크

소스 코드와 데모 자산:
npm 패키지:

GitHub Copilot CLI 사용 경험

이 프로젝트는 내가 GitHub Copilot을 생각하는 방식을 근본적으로 바꾸어 놓았습니다.

코드를 작성하기 위해 Copilot 을 사용하는 대신, GitHub Copilot CLI시스템을 추론하는 도구로 활용했습니다.

Copilot CLI 는 다음에 사용됩니다:

  • CI 증거를 분석하고 순위가 매겨진 가설을 형성
  • 실패를 영어로 설명 (예: 왜 로컬에서는 통과되지만 CI에서는 실패하는가)
  • 전체 재작성 대신 최소한의 통합 diff 를 생성
  • 각 수정에 신뢰도 점수와 위험 수준을 부착

이를 신뢰성 있게 만들기 위해:

  • 모든 Copilot 응답은 엄격한 JSON 계약을 따릅니다
  • 각 결론은 증거 ID (E1, E2, …) 를 참조합니다
  • 패치 diff 는 적용 전에 검증 및 정규화됩니다
  • 단일 호출 모드 로 분석, 설명, 패치 생성을 한 번에 수행해 토큰 사용량을 약 60% 절감

그 결과 Copilot 은 보조 도구라기보다 신중하고 설명 가능한 CI 엔지니어처럼 동작하는 워크플로우가 완성되었습니다.

이번 챌린지는 자동완성의 범위를 넘어, Copilot CLI 로 복잡하고 실제 개발 현장에서 안전하게 자동화할 수 있는 워크플로우를 탐구하도록 만들었습니다.

Back to Blog

관련 글

더 보기 »

시계열 예측: 전통적 방법과 ML 접근법

시계열 예측: 전통적 접근법과 ML 접근법을 활용한 신뢰할 수 있는 예측 시스템 구축 상상해 보세요: 블랙 프라이데이 기간에 귀하의 e‑commerce 플랫폼이 갑자기 다운되는 상황을.