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
'Python' 카테고리의 다른 글
| 키움 증권 종목 정보 알림 #5편 결과 데이터를 xls파일로 저장하기 및 id, pw 암호화 (0) | 2025.11.07 |
|---|---|
| 키움 API 로그인 안될 때 - 파이썬 EXE 파일 (0) | 2025.10.19 |
| 키움 증권 종목 정보 알림 #4편 exe 실행 파일 만들기 (0) | 2025.10.16 |
| 키움증권 API 활용기 04. 일봉데이터 조회 요청 (0) | 2025.09.24 |
| 키움증권 API 활용기 03. 종목불러오기 (0) | 2025.09.23 |