피드로 돌아가기
Auto versioning + changelog generation using Github Action
Dev.toDev.to
DevOps

Conventional Commits 기반 Semantic Versioning 자동화 파이프라인 구축

Auto versioning + changelog generation using Github Action

Kyle Y. Parsotan2026년 5월 23일3intermediate

Context

수동 태깅 및 릴리스 노트 작성으로 인한 운영 비효율과 버전 관리의 일관성 결여 문제 발생. 휴먼 에러로 인한 버전 누락 및 잘못된 릴리스 정보 제공이라는 아키텍처적 병목 지점 식별.

Technical Solution

  • Conventional Commits 규격 도입을 통한 커밋 메시지의 정형화 및 버전 결정 로직의 데이터화
  • semantic-release 프레임워크를 활용한 Commit Analyzer 기반의 버전 Bump(Patch/Minor/Major) 자동 결정 구조 설계
  • CHANGELOG.md 파일의 자동 갱신 및 Git Tag 생성으로 이어지는 State Machine 기반의 워크플로우 구성
  • GitHub Actions의 fetch-depth: 0 설정을 통한 전체 커밋 히스토리 확보 및 정확한 버전 분석 환경 구축
  • CI/CD 파이프라인 내 GITHUB_TOKEN 인증을 통한 Release 생성 및 배포 자동화 메커니즘 구현

1. Conventional Commits 규격 준수 여부를 강제하는 Commit Lint 도입 검토

2. GitHub Actions 설정 시 fetch-depth: 0 옵션을 적용하여 히스토리 유실 방지

3. .releaserc.json 내 플러그인 순서 최적화를 통한 CHANGELOG 및 Tag 생성 순서 제어

4. [skip ci] 메시지를 포함한 자동 릴리스 커밋 설정으로 무한 CI 루프 방지

원문 읽기