피드로 돌아가기
Dev.toDevOps
원문 읽기
Conventional Commits 기반 Semantic Versioning 자동화 파이프라인 구축
Auto versioning + changelog generation using Github Action
AI 요약
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 루프 방지