팁/튜토리얼

릴리즈를 조금 더 편하게 해보려고 release-it 적용해봤습니다

2025.03.13 15:06
20
1
0

요즘에 배포하려다보니 버전 숫자 바꾸고 체인지로그 만들고, 태그 만들고, 푸시하고, 배포할 압축파일 만들고...

 

과정이 번거로워서 알아보다가 https://github.com/release-it/release-it 이걸 사용해봤습니다.

 

간단히 요약하면 버전 숫자 변경, 체인지로그 생성, 태그 & 푸시까지 해줍니다.

토큰 설정만하면 깃허브 릴리즈도 추가해주고요.

 

1. 버전 범프

라이믹스는 버전이 conf/info.xml 파일에 있고 날짜도 변경해줘야해서 추가 플러그인도 사용했습니다.

 

https://github.com/j-ulrich/release-it-regex-bumper

 

정규식이나 파일 포맷에 따라 옵션으로 기록된 버전을 찾아서 인식하고 변경해줍니다.

 

이런식으로 설정해두면 conf/info.xml 파일의 'module > version' 노드를 찾아서 버전을 읽고 새로운 버전으로 변경해줍니다.

지금보니 date 노드는 왜 'path'로 안하고 저렇게 했는지는 모르겠지만 저렇게 날짜도 바꿔줄 수 있고요.

ray-so-export.png

 

그누보드는 따로 버전을 비롯한 정보를 기록하는 정해진 방법이 없어서 메인 파일에 따로 상수에 기록해두었는데, 이것도 찾아서 바꾸도록 했습니다.

 

 

 

2. 체인지로그

체인지 로그는 https://www.conventionalcommits.org/ko/v1.0.0/ 기반으로 커밋메시지를 적어두면 체인지로그도 자동으로 생성해줍니다. 주로 fix, feature 등의 주요 메시지만 추려서 작성해주는데 설정을 변경해서 다른 prefix도 체인지로그에 추가시킬 수는 있습니다.

 

ray-so-export-2.png

 

CHANGELOG.md 파일에 conventional commits 규칙으로 작성한 커밋을 추려서 체인지로그 파일을 만들어 줍니다.

딱히 이렇게 설정을 다 넣진 않아도 되긴할 것 같은데 이러저리 해보다가 저렇게 세팅한채로 뒀습니다.

 

3. 커밋, 태그, 푸시

 

이렇게 'npm run release' 스크립트를 실행하면 이 과정을 전부 처리해줍니다.

체인지로그를 생성하고, 버전을 범프하여 파일을 수정해서 커밋하고, 푸시, 버전명으로 태그를 생성, 푸시까지 해줍니다.

단계마다 선택할 수도 있고요.

 

저는 hook으로 배포용 압축 파일도 생성했습니다.

 

ray-so-export-4.png

 

그러면 아래와 같이 과정을 진행할 수 있죠.

(아래 이미지는 그누보드 버전 배포할 때라서 버전이 기록해둔 bootstrap.php 파일에 버전이 교체되어 커밋되었습니다.)

 

ray-so-export-3.png

 

 

 

 


 

 

릴리즈 과정이 훨씬 편해졌습니다.

package.json 파일의 버전명도 같이 변경되는데 이건 필요가 없어서 제외시켰으면 좋겠는데 방법을 찾아보진 않았습니다.

 

관련 설정은 https://github.com/damoang-users/rx-da_reaction/commit/d95f2bd14142c1f19661ca9705f3dce2542db28a 여기에 있습니다.

그누보드에 설정한건 https://github.com/damoang-users/g5-da_reaction/commit/ef3771488e12c55234d1c0fd48ccf83fc9982bf3 이거고요.

 

 

 

 

kkigomi Lv. 2

댓글 0