위키득계정 ↗
기술

Semantic-release

Semantic-release기술
주요 입력
커밋 메시지와 Git 기록
주요 기능
버전 결정과 릴리스 자동화
버전 기준
시맨틱 버저닝
확장 방식
플러그인과 공유 설정
Semantic-release는 커밋 메시지를 분석해 다음 버전을 결정하고 릴리스 설명과 패키지 게시를 자동화하는 도구다. 형식화된 메시지 규칙과 CI 실행을 연결해 릴리스 절차를 구성한다.

커밋에서 변경 영향 판단

Semantic-release는 마지막 릴리스 이후의 커밋을 읽고 메시지 규칙을 통해 사용자에게 미치는 변경의 영향을 해석한다. 이를 바탕으로 다음 버전과 릴리스 설명을 생성한다. 기본 관례를 사용할 수도 있고 분석기와 설명 생성기의 설정으로 메시지 형식을 조정할 수도 있다.

CI에서 이어지는 릴리스 단계

릴리스 브랜치의 빌드가 성공한 뒤 CI에서 실행하는 흐름을 전제로 한다. 조건 확인과 이전 릴리스 조회, 커밋 분석과 설명 생성, 태그 생성과 준비 및 게시 같은 단계를 수행한다. 실제 게시 대상과 방식은 연결한 플러그인과 설정에 따라 달라진다.

자동화의 기준이 되는 기록

플러그인으로 다른 패키지 관리자와 언어의 릴리스 흐름을 지원하고 공유 설정을 재사용할 수 있다. 메시지 작성 도구나 검사 도구와 함께 사용해 입력 기록의 형식을 유지할 수도 있다. 하지만 메시지에 나타난 변경 영향이 실제 구현과 맞는지는 별도의 검토가 필요하다.

관련 문서

Changesets / Commitlint / Commitizen / Git-cliff / Changie