Overview
이번 글에서는 GitHub Actions를 활용하여 Changelog(변경 이력)를 자동으로 생성하고 관리하는 방법에 대해 다룬다.
Changelog는 프로젝트의 변경 사항을 체계적으로 기록해주는 중요한 문서로, 기능 추가, 버그 수정, 개선 사항 등을 릴리스와 함께 사용자와 기여자에게 투명하게 전달하는 역할을 한다.
하지만 이 변경 이력을 수동으로 관리하는 것은 실수가 잦고 시간이 많이 들 수 있다. 이를 해결하기 위해 GitHub Workflow를 통해 PR 병합, 릴리스 생성 등의 이벤트에 따라 자동으로 `CHANGELOG.md` 파일을 생성하고 커밋하도록 구성할 수 있다.
글에서는 Changelog의 개념과 필요성을 먼저 소개하고, 이후 실제 GitHub Actions Workflow 구성 예시와 자동화를 위한 주요 설정 방법까지 상세히 설명한다. 또한 자동화 과정에서 태그 필터링, Git 커밋 자동화 등 실무에서 유용한 팁들도 함께 다룬다.
Changelog 관리를 자동화하여 릴리스 품질을 높이고, 협업의 효율성과 일관성을 확보하고 싶은 개발자라면 이 글이 큰 도움이 될 것이다.
Github Changelog 란?
- 프로젝트에서 시간에 따라 이루어진 변경 사항을 기록하고 강조하는 문서이다.
- 오픈 소스 및 협업 프로젝트에서 기여자, 사용자, 이해관계자에게 새로운 기능, 버그 수정, 업데이트 또는 호환성 깨짐 등에 대해 알리기 위해 널리 사용된다.
- 새로운 기능, 버그 수정, 업데이트, 호환성 문제 등의 세부 정보가 포함된다.
📋 Changelog 구조
- 버전 관리 형식을 따르며 변경 사항을 체계적으로 정리한다.
- 최신 변경 사항부터 순서대로(역순) 릴리스 또는 태그별로 업데이트를 나열한다.
- 사용자가 프로젝트의 개발 기록을 효율적으로 검토할 수 있도록 한다.
Changelog 를 사용하는 이유는 무엇일까?
- 각 릴리스에서 추가되거나 개선되거나 수정된 내용을 명확하게 전달한다.
- 개발자와 사용자가 변경 사항의 영향을 쉽게 이해할 수 있도록 돕는다.
🤝 Improved Collaboration(향상된 협업)
- 모든 기여자가 프로젝트의 진행 상황과 상태를 인지할 수 있도록 한다.
- 어떤 기능이나 수정 사항이 구현되었는지에 대한 오해를 최소화한다.
🔖 Version Tracking(버전 추적)
- 변경 사항을 특정 릴리스나 태그와 매핑한다.
- 여러 버전 간의 디버깅 및 테스트에 유용하다.
📬 User Communication(사용자 커뮤니케이션)
- 사용자가 업데이트를 추적하고 업그레이드 시점을 결정하는 데 유용한 정보를 제공한다.
Github Changelog 자동화
Github Workflow를 활용하여 Changelog를 자동화 해본다.
그리고 Workflow를 수동으로 실행해서 `Changelod.md` 를 생성한다.
다만, Github Action의 경우 특수하기 때문에 v1,2,3... 태그를 제외해줄 수 있다.
마무리
- 변경 로그는 모든 프로젝트의 변경 사항을 추적하는 데 필수적인 도구이다.
- GitHub를 사용하면 워크플로를 사용하여 이 프로세스를 자동화하여 시간을 절약하고 팀과 사용자에게 일관된 업데이트를 제공할 수 있다
- 수동으로 관리하든 자동화를 활용하든, 변경 로그가 있으면 투명성이 구축되고 협업이 촉진되며 사용자에게 프로젝트 진행 상황에 대한 정보가 계속 제공된다.
📚 Reference
https://github.com/vweevers/common-changelog
'IaC > CI CD Tool' 카테고리의 다른 글
ArgoCD SSO 구성 가이드(Gitlab) (0) | 2025.03.31 |
---|---|
10. Github Action Hosted Runner 생성 (0) | 2025.02.17 |
8. Gitlab Repository Mirroring 방법 (0) | 2025.01.20 |
9. Github Action Steps Context 활용법 (0) | 2024.11.10 |
8. Github Action Template 생성후 MarketPlace 등록하기 (2) | 2024.07.01 |