서론
- GitHub에서 **태그(Tag)**를 기반으로 **릴리즈(Release)**를 만들면,
- 릴리즈 노트를 작성하고, 바이너리 파일(zip, tar.gz 등)을 첨부할 수 있어서 배포에 아주 유용합니다..
- 아래에 GitHub 릴리즈 생성 및 연동 방법을 정리합니다. 👇
🎁 GitHub 릴리즈란?
- 특정 태그에 대한 릴리즈 정보를 시각화해서 보여주는 GitHub의 기능
- 릴리즈 노트 작성 가능
- 실행 파일, 아티팩트(.zip, .jar 등) 첨부 가능
- GitHub Actions 같은 CI 도구와 쉽게 연동 가능
🛠️ GitHub 릴리즈 만드는 방법
1. Git 태그 만들기 (로컬 or GitHub에서)
# 로컬에서 annotated tag 만들기
git tag -a v1.0.0 -m "Release version 1.0.0"
# 원격 푸시
git push origin v1.0.0
또는 GitHub 웹 UI에서 새 태그를 만들 수도 있음.
2. GitHub에서 릴리즈 생성
- 해당 리포지토리로 이동
- 상단 탭에서 “Releases” 클릭 (또는
/releases경로로 이동) - “Draft a new release” 클릭
- 입력 항목:
- Tag version:
v1.0.0(기존 태그 선택 또는 새로 만들기) - Release title: 예)
First official release - Description: 변경사항 요약 (릴리즈 노트)
- 파일 첨부: 실행 파일, jar, zip 등 필요한 바이너리 업로드 가능
- Tag version:
- “Publish release” 클릭
🔁 GitHub Actions와 릴리즈 연동 (자동화)
릴리즈가 만들어졌을 때 자동으로 빌드/배포하게 설정 가능.
예: 릴리즈 생성 시 .jar 파일 빌드 후 릴리즈에 자동 첨부
# .github/workflows/release.yml
name: Release Build
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: '17'
- name: Build project
run: ./gradlew build
- name: Upload .jar to Release
uses: softprops/action-gh-release@v1
with:
files: build/libs/*.jar
✅ 요약
| 기능 | 설명 |
|---|---|
| Tag | Git 커밋에 이름 부여 |
| Release | 태그에 대한 릴리즈 노트 및 파일 첨부 |
| GitHub Actions 연동 | 릴리즈 생성 시 자동 빌드 및 배포 가능 |
원한다면 실제 GitHub Actions 설정 파일 만들어줄 수도 있어. 혹시 사용하는 언어나 빌드 도구가 뭐야? (예: Java/Gradle, Node.js/NPM 등)