본문 바로가기
Python

GitHub 실전 활용 매뉴얼: 윈도우, iOS 자동 빌드 및 배포

by From.h 2026. 2. 22.
728x90
반응형
SMALL

 

 

 

🚀 GitHub 실전 활용 매뉴얼: 자동 빌드 및 배포

 

 

 

내가 직접 파이썬 프로젝트를 빌드 배포하지 않아도
깃허브 클라우드 컴퓨팅이 알아서 해주는 기능 Action 기능을 활용해보자!

 

장점
1. 코드와 실행파일을 분리해서 자동 관리됨
2. 버전 관리 자동으로 됨
3. 윈도우, ios 동시 빌드, 배포 자동으로 됨

 

 

 

 

 

 

1. 프로젝트 초기설정 (최초 1회)

 
깃허브의 용량 제한(100MB)과 보안을 위해 반드시 설정해야 합니다.
  • .gitignore 작성: 최상단 폴더에 파일을 만들고 아래 내용을 넣습니다. (빌드 파편 방지)
    text
    __pycache__/
    venv/
    .idea/
    build/
    dist/
    *.pkg
    *.exe
    *.spec
    
    코드를 사용할 때는 주의가 필요합니다.
  • 깃허브 권한 허용: GitHub 웹사이트 Settings > Actions > General 맨 아래에서 'Read and write permissions'를 선택하고 Save 하세요. (자동 릴리즈 생성에 필수)

 

 

 

 

 

2. GitHub Action 설정 (공장 돌리기 세팅)

 
.github/workflows/build.yml 파일을 만들고 아래 코드를 복사해 넣습니다. (파일명이 main.py가 아니면 수정 필수)
yaml
name: Multi-Platform Build and Release
on:
  push:
    tags: ['v*'] # v1.0 등 태그 푸시 때만 작동

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [windows-latest, macos-latest]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: '3.10' }
      - name: Install Libs
        run: |
          pip install pyinstaller
          if (Test-Path requirements.txt) { pip install -r requirements.txt }
        shell: pwsh
      - name: Build
        run: |
          if [ "${{ matrix.os }}" = "macos-latest" ]; then
            pyinstaller --onefile --windowed main.py
          else
            pyinstaller --onefile main.py
          fi
        shell: bash
      - name: Create DMG (Mac only)
        if: matrix.os == 'macos-latest'
        run: |
          mkdir -p dist/dmg
          [ -d "dist/main.app" ] && cp -r dist/main.app dist/dmg/ || (mkdir -p dist/dmg/main.app/Contents/MacOS && cp dist/main dist/dmg/main.app/Contents/MacOS/)
          hdiutil create -volname "MyApp" -srcfolder dist/dmg -ov -format UDZO dist/main.dmg
        shell: bash
      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          files: |
            dist/*.exe
            dist/*.dmg
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

코드를 사용할 때는 주의가 필요합니다.

 

 

 

 

 

 

3. 실제 작업 시 구분 (수정 및 저장)

 

평소에 코드만 저장할 때 (가장 자주 사용)

수정된 코드를 깃허브에 안전하게 보관만 하는 단계입니다. 이때는 자동 빌드가 돌아가지 않아 빠르고 편리합니다.
1단계 (파일 담기): git add .
2단계 (설명 적기): git commit -m "수정 내용 적기"
3단계 (보내기): git push origin master

 

 

새로운 실행 파일을 배포할 때 (배포용)

"자, 이제 윈도우/맥용 파일을 새로 뽑아서 릴리즈에 올리자!" 싶을 때 사용하는 명령어입니다. 1번 과정을 마친 직후에 이어서 입력하세요.
1단계 (버전 이름표 달기): git tag v1.0.4 (중복되지 않게 숫자를 올려주세요)
2단계 (태그 보내기): git push origin v1.0.4
이 명령어를 치는 순간 깃허브 액션 공장이 가동됩니다.

 

 

 

 

 

 

 

 팁: 에러발생 시 대처법

 
  • 파일이 너무 커서 푸시가 안 돼요: 이미 커밋에 대용량 파일이 포함된 경우입니다. .git 폴더를 지우고 git init으로 새로 시작하는 게 가장 빠릅니다.
  • 권한 에러(Resource not accessible): 1번 과정의 Read and write permissions 설정을 다시 확인하세요.
  • 파일을 못 찾아요(No such file): build.yml 내의 파일명(main.py)이 실제 파일명과 정확히 일치하는지 확인하세요.

 

 

 

 

 

 

 

 

 

 

BR.h

 

 

 

 

 

 

728x90
반응형
LIST