Tag 기반 release pipeline
표준 release 모양: v1.4.2 같은 tag push, tag push 에 workflow 발사, release artifact 빌드, GitHub Releases / npm / PyPI / ghcr 게시, changelog 게시.
구성요소
- Tag — 로컬에서
git tag v1.4.2 && git push --tags나 GitHub UI 로 생성. - Release workflow —
on: push: tags: ['v*.*.*']청취. - Build — release artifact 생산.
- Changelog — 자동 생성 (release-please, changesets, conventional-changelog) 또는 사람이 작성.
- GitHub Release —
softprops/action-gh-release또는gh release createCLI 로 생성. - 배포 게시 — 같은 workflow 에서 npm, PyPI, ghcr.io 등.
자동화 레벨
스펙트럼에서 자리 선택:
- 수동 tag — 손으로
git tag. 가장 단순. - release-please (Google) — 'release' commit 자동 PR; PR merge 가 tag 생성.
- changesets (npm 중심) — contributor 가 changeset 파일 작성; CI 가 집계하고 tag.
- semantic-release — conventional commit 에서 완전 자동.