피드로 돌아가기
Criando uma Composite Actions para utilizar em do CI/CD do GitHub
Dev.toDev.to
DevOps

TypeScript 기반 Composite Action으로 CI/CD 메트릭 수집 표준화

Criando uma Composite Actions para utilizar em do CI/CD do GitHub

Marcos Vilela2026년 4월 6일5intermediate

Context

GitHub Actions 워크플로우 내에서 실행 컨텍스트와 메트릭 수집의 파편화 발생. 개별 파이프라인마다 중복된 수집 로직을 작성하는 운영 효율성 저하. 실패 시에도 데이터 수집을 보장하는 견고한 텔레메트리 구조 필요.

Technical Solution

  • GitHub Actions Runner의 동일 컨텍스트에서 실행되는 Composite Action 구조 설계
  • TypeScript 기반 Collector 개발로 강력한 타입 시스템 적용 및 Jest를 통한 비즈니스 로직 단위 테스트 수행
  • @vercel/ncc를 이용한 단일 JS 번들링으로 Runner 환경의 의존성 설치 과정 제거 및 실행 속도 향상
  • if: always() 조건과 continue-on-error 설정을 통해 메인 작업 실패와 무관하게 메트릭 수집을 보장하는 폴트 톨러런스 설계
  • 지수 백오프(Exponential Backoff) 기반의 HTTP 리트라이 로직을 구현하여 외부 텔레메트리 서비스 전송 신뢰성 확보
  • Semantic Release를 통한 버전 관리 체계 구축으로 조직 내 다수 리포지토리에서 안정적인 액션 참조 가능 구조 구현

Key Takeaway

플랫폼 수준의 공통 기능을 Composite Action과 번들링된 스크립트로 추상화하여 전사적 관측성(Observability) 표준을 확립하고 유지보수 비용을 최소화함.


CI/CD 메트릭 수집 도구 개발 시 Runner 의존성 제거를 위해 ncc와 같은 번들러 사용을 권장함

원문 읽기