콘텐츠로 이동
Oleaflyv0.4.7

Oleafly가 크로스 플랫폼 업데이터 피드를 빌드하고, 서명하고, 검증하고, 게시하는 방법입니다.

Oleafly는 Tauri의 업데이터 플러그인을 사용합니다. 앱은 실행할 때 최신 GitHub 릴리스를 확인하고, 더 새로운 버전이 있으면 자체 업데이트 창을 엽니다. 애플리케이션 메뉴나 Oleafly 정보 → 업데이트 확인에서 직접 확인할 수도 있습니다.

각 플랫폼 빌드는 서명된 업데이터 산출물과 latest.json 조각을 만듭니다. 릴리스 워크플로는 빌드 네 개가 모두 끝날 때까지 이 조각들을 따로 보관했다가, 대상마다 맡은 항목을 하나의 정식 매니페스트로 병합합니다.

최종 매니페스트에는 macOS Apple Silicon, Windows x64, Linux x64, Linux ARM64 항목이 모두 있어야 합니다. 메인테이너가 보호된 게시 워크플로를 실행하기 전까지는 초안 릴리스에 붙어 있습니다. 설치된 앱에는 초안이 보이지 않습니다.

앱은 GitHub Releases에서 latest.json을 내려받습니다. 설치하기 전에 Tauri가 src-tauri/tauri.conf.json에 내장된 공개 키로 업데이터 서명을 검증합니다. 누락되었거나 서명되지 않았거나 변조된 산출물은 거부됩니다.

릴리스 노트는 CHANGELOG.md의 해당 섹션에서 가져옵니다. 워크플로가 그 섹션을 추출해 GitHub 릴리스 본문과 업데이트 창에 똑같이 사용합니다.

버전 태그부터 설치된 앱까지버전 태그를 푸시하면 macOS Apple Silicon, Windows x64, Linux x64, Linux ARM64용 서명된 빌드가 시작됩니다. 각 빌드의 업데이터 조각은 하나의 latest.json으로 합쳐져, 메인테이너가 검토할 수 있도록 초안 릴리스에 첨부됩니다. 게시 실행이 모든 것을 다시 확인하고 릴리스를 게시하면 latest.json이 공개됩니다. 설치된 앱은 이를 내려받아 앱에 내장된 공개 키로 서명을 확인한 뒤 설치합니다.서명된 빌드버전 태그빌드 시작macOS Apple SiliconWindows x64Linux x64Linux ARM64latest.json매니페스트 하나초안 릴리스메인테이너 검토게시 실행다시 확인한 뒤릴리스게시된 릴리스latest.json 공개설치된 앱서명을 확인한 뒤설치메인테이너가 게시 실행버전 태그부터 설치된 앱까지버전 태그를 푸시하면 macOS Apple Silicon, Windows x64, Linux x64, Linux ARM64용 서명된 빌드가 시작됩니다. 각 빌드의 업데이터 조각은 하나의 latest.json으로 합쳐져, 메인테이너가 검토할 수 있도록 초안 릴리스에 첨부됩니다. 게시 실행이 모든 것을 다시 확인하고 릴리스를 게시하면 latest.json이 공개됩니다. 설치된 앱은 이를 내려받아 앱에 내장된 공개 키로 서명을 확인한 뒤 설치합니다.서명된 빌드버전 태그빌드 시작macOS Apple SiliconWindows x64Linux x64Linux ARM64latest.json매니페스트 하나초안 릴리스메인테이너 검토게시 실행다시 확인한 뒤 릴리스게시된 릴리스latest.json 공개설치된 앱서명을 확인한 뒤설치
태그 하나가 네 플랫폼을 모두 빌드하고 서명해 초안으로 만듭니다. 게시하면 latest.json이 공개되고, 설치된 앱은 설치 전에 서명을 확인합니다.

업데이터 공개 키는 src-tauri/tauri.conf.json에 커밋되어 있습니다. 개인 키는 GitHub Actions 시크릿에만 있어야 합니다.

  • TAURI_SIGNING_PRIVATE_KEY
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

개인 키는 절대 커밋하지 마세요. 노출되었다면 새 키 쌍을 만들고, 저장소 시크릿을 갱신하고, 내장된 공개 키를 교체하세요. 이미 설치된 앱은 내장된 키를 신뢰하므로, 키를 교체하려면 계획된 수동 업데이트 경로가 필요합니다.

운영체제 서명은 업데이터 서명과 별개입니다. macOS 빌드는 릴리스 시크릿이 있으면 Apple 코드 서명과 공증을 사용합니다. Windows 빌드는 자격 증명이 있으면 Azure Artifact Signing을 사용합니다.

확인이나 다운로드가 실패해도 설치된 애플리케이션은 그대로입니다. 서명 검증에 실패하면 설치가 차단됩니다. 검증된 다운로드의 설치가 성공한 뒤에만 애플리케이션이 다시 시작됩니다.

Oleafly는 완료된 업데이트를 자동으로 롤백하지 않습니다. 이전 버전으로 돌아가려면 앱을 닫고, 중요한 프로젝트를 백업하고, 이전 공식 설치 프로그램을 내려받아 검증한 다음, 현재 버전 위에 설치하세요.

초안 및 게시 절차는 Oleafly 릴리스하기를 참고하세요.

이미지 미리보기

AI 답변을 불러오지 못했습니다

다시 시도하거나 문서를 검색하세요.