출시 노트 관리
나 자신은 요즘 CHANGELOG 파일을 사용하지 않고 거의 독점적으로 GitHub Releases를 사용합니다.
여기에는 3가지 주요 이유가 있습니다.
릴리즈 노트
GitHub에는 ability to automatically generate releases notes이 있습니다.
이 기능은 현재 버전과 병합된 풀 요청을 요약합니다. 각 풀 요청에 대한 링크, 작성자 이름 및 해당 버전의 기여자 목록이 포함되어 있기 때문에 매우 유용합니다. 이것을 직접 생성하려고 하면 쉽지 않습니다. 무엇보다 GitHub에서 이 기능을 공식적으로 제공한다는 점이 마음에 듭니다.
.github/release.yml
를 입력하면 풀 리퀘스트에 붙은 라벨에 따라 별도의 섹션도 생성한다. 나는 keep-a-changelog과 같은 형식을 좋아하기 때문에 다음 6개의 레이블을 준비했습니다.기본적으로 이러한 레이블은 리뷰할 때 추가하지만 잊어버리더라도 출시 전에 추가할 수 있습니다.
레이블
각 리포지토리에 이러한 레이블을 수작업으로 준비하는 것은 번거롭기 때문에 github-label-sync-action 을 사용하여 자동화했습니다.
.github/labels.yml
에 각 레이블의 이름, 설명, 색상을 입력하면 자동으로 GitHub에 동기화됩니다.또한 이 구성 YAML 파일을 준비하는 프로세스를 자동화하고 싶기 때문에 이를 위해 r7kamura/github-keepachangelog-template을 생성하고 gitcp을 사용하여 현재 디렉터리에 복사합니다.
gitcp r7kamura/github-keepachangelog-template
워크플로우
요즘에는 GitHub Actions를 사용하여 태그 및 릴리스와 같은 새 버전을 게시하는 프로세스를 자동화합니다. 예를 들어 npm 패키지의 경우
version
에 manifest.json
를 넣습니다. 버전 변경을 감지하고 새 Git 태그, 새 GitHub 릴리스 등을 자동으로 생성하는 워크플로가 있습니다.각 리포지토리에 대해 이러한 워크플로를 준비하는 데 시간이 많이 걸리므로 Reusable workflows을 사용하고 r7kamura/workflows에서 자체 워크플로를 구성합니다.
다음은 vscode-ruby-light에서 내 VSCode 확장을 릴리스하는 예제 워크플로입니다.
name: release
on:
push:
branches:
- main
jobs:
release:
uses: r7kamura/workflows/.github/workflows/vscode-extension-release.yml@main
secrets:
vsce-token: ${{ secrets.VSCE_TOKEN }}
이것을 작성하고
package.json
및 git push
의 버전 필드를 변경하면 자동으로 새 git 태그, 자동으로 생성된 릴리스 정보가 있는 새 GitHub 릴리스가 생성되고 확장이 빌드되며 VSCode 마켓플레이스에 게시됩니다.마무리
릴리스 노트를 관리하는 방법에 대해 썼습니다.
릴리스 노트는 사용자에게 매우 중요한 정보 소스입니다. 그러나 유지 관리가 어려울 수 있음을 이해합니다. 비용을 들이지 않고 자동화하고 관리할 수 있으면 좋겠습니다.
Reference
이 문제에 관하여(출시 노트 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/r7kamura/release-notes-management-2ho0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)