4.2 KiB
AppImage Release 배포 안내
지인에게 배포할 때는 AppImage를 Git 소스 이력에 추가하지 않고 Git 서버의 Release 첨부 파일로 제공하는 방식을 권장합니다. 버전별 바이너리를 커밋하면 저장소를 복제할 때 모든 과거 바이너리까지 내려받아 저장소가 빠르게 커집니다.
기존 v0.1.0 AppImage 커밋은 배포 기록으로 유지하되, 다음 버전부터는 이
절차를 사용합니다.
태그, 프로젝트 버전, AppImage의 내부 버전은 반드시 같아야 합니다. 사용자가
받는 통합 번들은 버전과 관계없이 Comicviewer-latest-x86_64.tar.gz라는 고정
이름을 사용합니다.
1. 버전 갱신
릴리스 전에 다음 위치의 버전이 일치하는지 확인합니다.
Cargo.toml의 패키지 버전data/io.github.comicviewer.Comicviewer.metainfo.xml의 릴리스 버전과 날짜packaging/build-appimage.sh의 출력 파일 버전
2. 품질 검사
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-features
모든 검사를 통과한 소스에서 AppImage를 빌드합니다.
3. AppImage 빌드
appimagetool을 직접 지정하거나, appimagetool을 포함한
linuxdeploy-x86_64.AppImage를 지정합니다. AppImage는 Arch/CachyOS 호스트의
GTK4와 dav1d를 사용하며 시스템 라이브러리를 내부에 복사하지 않습니다.
PATH="/path/to/appimage-tools:$PATH" \
LINUXDEPLOY="/path/to/appimage-tools/linuxdeploy-x86_64.AppImage" \
./packaging/build-appimage.sh
완성된 AppImage는 dist/에 생성됩니다. 배포 전에 직접 실행해 기본 화면이
열리는지 확인합니다.
4. 통합 배포 번들 생성
AppImage 빌드가 끝나면 다음 스크립트로 체크섬과 통합 tar.gz 번들을 한 번에
생성합니다.
./packaging/build-release-bundle.sh
스크립트는 Cargo.toml에서 버전을 읽고 다음 파일을 생성합니다.
dist/Comicviewer-0.2.12-x86_64.AppImage.sha256dist/Comicviewer-latest-x86_64.tar.gzdist/Comicviewer-latest-x86_64.tar.gz.sha256
통합 번들에는 AppImage, 체크섬, 설치·업데이트 스크립트, 데스크톱 파일, 아이콘,
한국어 설치 안내문이 포함됩니다. tar.gz는 실행 권한과 디렉터리 구조를
보존하므로 ZIP보다 Linux 배포에 적합합니다.
생성된 번들의 압축 목록과 체크섬을 확인합니다.
tar -tzf dist/Comicviewer-latest-x86_64.tar.gz
cd dist
sha256sum -c Comicviewer-latest-x86_64.tar.gz.sha256
5. 소스 커밋과 태그
버전 변경과 문서를 커밋한 뒤 주석 태그를 생성하고 푸시합니다. AppImage 자체는
git add -f로 추가하지 않습니다.
git add Cargo.toml Cargo.lock data packaging README.md docs
git commit -m "Release v0.2.12"
git tag -a v0.2.12 -m "Comicviewer v0.2.12"
git push origin main
git push origin v0.2.12
이미 원격에 공개한 태그는 이동하거나 덮어쓰지 않습니다. 수정이 필요하면 새 패치 버전을 만듭니다.
6. Cafe24 배포
Git 서버의 바이너리 다운로드는 사용하지 않습니다. FTP로 다음 파일을
/www/Downloads/Comicviewer/에 업로드합니다.
Comicviewer-latest-x86_64.tar.gzComicviewer-latest-x86_64.tar.gz.sha256
업로드 후 다음 HTTPS 주소에서 두 파일을 새 디렉터리로 다시 내려받아 체크섬과 실제 설치를 확인합니다.
https://burningtuna.cafe24.com/www/Downloads/Comicviewer/Comicviewer-latest-x86_64.tar.gz
https://burningtuna.cafe24.com/www/Downloads/Comicviewer/Comicviewer-latest-x86_64.tar.gz.sha256
배포 안내에는 다음 내용을 사용합니다.
지원 환경: CachyOS / Arch Linux x86_64
필수 패키지: fuse2, gtk4, dav1d, gvfs, gvfs-smb, gstreamer,
gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-libav
설치 또는 업데이트:
위 HTTPS 주소에서 tar.gz와 tar.gz.sha256을 같은 폴더에 다운로드한 뒤 실행합니다.
sha256sum -c Comicviewer-latest-x86_64.tar.gz.sha256
tar -xzf Comicviewer-latest-x86_64.tar.gz
cd Comicviewer-latest-x86_64
./install-or-update.sh
사용자에게는 INSTALL.ko.md 문서를 함께 안내합니다.