Pink Spider/gitbub에서 tag기반 릴리즈 활용법

Created Sat, 11 Jan 2025 16:11:03 +0900 Modified Mon, 08 Dec 2025 08:41:47 +0900
607 Words 3 min

서론

  • 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에서 릴리즈 생성

  1. 해당 리포지토리로 이동
  2. 상단 탭에서 “Releases” 클릭 (또는 /releases 경로로 이동)
  3. “Draft a new release” 클릭
  4. 입력 항목:
    • Tag version: v1.0.0 (기존 태그 선택 또는 새로 만들기)
    • Release title: 예) First official release
    • Description: 변경사항 요약 (릴리즈 노트)
    • 파일 첨부: 실행 파일, jar, zip 등 필요한 바이너리 업로드 가능
  5. “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 등)