홈 › CI/CD › 07 / 7

파이프라인 운영과 문제 해결

섹션 7진행 0 / 7

4. 응용 변형 예제

4.1 느린 빌드를 매트릭스로 병렬화

yaml
strategy:
  matrix:
    module: [core, web, batch]
jobs:
  test:
    runs-on: [self-hosted, closed-net]

모듈별로 잡을 나누면 가장 느린 모듈의 시간만큼만 전체 시간이 늘어납니다.

4.2 AWS 키까지 검사 범위 넓히기

bash
grep -nE 'ghp_[A-Za-z0-9]{20,}|AKIA[0-9A-Z]{16}|xox[baprs]-[0-9A-Za-z-]{10,}'

Slack 토큰(xoxb- 등)처럼 팀이 쓰는 서비스의 키 형식을 패턴에 추가합니다.

4.3 실패 시 이슈 자동 생성

bash
gh issue create --title "파이프라인 실패: $WORKFLOW #$RUN_NUMBER" \
  --body "로그: $RUN_URL" --label ci-failure

반복 실패를 사람이 놓치지 않도록 이슈로 남겨 추적합니다.

4.4 러너 라벨로 무거운 잡 분리

yaml
jobs:
  build:
    runs-on: [self-hosted, closed-net, high-mem]

메모리를 많이 쓰는 빌드만 성능이 좋은 러너로 보내 다른 잡을 막지 않습니다.

4.5 실패 재현 스크립트를 저장소에 남기기

bash
cp repro.txt incidents/2026-01-05-divide-by-zero.txt

같은 실패가 다시 나오면 과거 재현 기록과 비교해 원인이 같은지 빠르게 판단합니다.