Linux용 Tauri 앱 게시하기

이 가이드는 Mocco에 게시하는 Tauri 2 앱에 Linux(linux-x86_64)를 추가합니다. 먼저 Tauri 앱 게시하기대로 앱, 업데이터 키, tauri.conf.json, CI 키를 설정하세요. 그 내용은 Linux에도 그대로 적용됩니다.

번들 고르기

AppImage를 쓰세요. 대부분의 배포판에서 실행되고, 업데이터가 관리자 권한 없이 그 자리에서 교체합니다.

번들tauri build --bundlessrc-tauri/target/release/bundle/ 안의 파일
AppImageappimageappimage/App_0.2.0_amd64.AppImage와 appimage/App_0.2.0_amd64.AppImage.sig
debdebdeb/App_0.2.0_amd64.deb, 패키지를 설치하는 업데이터 플러그인이라면 deb/App_0.2.0_amd64.deb.sig
rpmrpmrpm/App-0.2.0-1.x86_64.rpm, 마찬가지로 rpm/App-0.2.0-1.x86_64.rpm.sig

createUpdaterArtifacts: true이면 Tauri가 AppImage 자체에 업데이터 서명을 만들므로, 사람들이 내려받는 파일과 앱이 설치하는 파일이 같습니다. ("v1Compatible"이면 업데이트 번들은 별도의 .AppImage.tar.gz이고 자체 .sig가 있습니다. 그 파일을 업데이트 번들로 올리세요.) .deb나 .rpm 설치를 업데이트하려면 이를 지원하는 업데이터 플러그인 버전이 필요하고, 관리자 비밀번호를 묻습니다. 배포하기 전에 플러그인의 릴리스 노트를 확인하세요.

릴리스에는 플랫폼마다 설치 파일 하나와 업데이트 번들 하나가 있으므로, linux-x86_64에는 번들 하나를 고르세요. 지원하는 가장 오래된 배포판(예: ubuntu-22.04)에서 빌드하세요. 새 배포판에서 만든 AppImage는 오래된 시스템에서 실행되지 않을 수 있습니다.

Linux에는 Mocco가 확인하는 Authenticode나 공증 같은 절차가 없습니다. 설치된 앱을 보호하는 것은 업데이터 서명입니다. 앱은 모든 업데이트를 앱에 컴파일된 공개 키로 확인합니다.

릴리스 단계

Linux 러너에서 빌드 후에 다음을 추가합니다.

- name: Publish to Mocco
  uses: fi-workers/mocco/actions/desktop-publish@<commit sha>
  with:
    app-id: <app id>
    version: ${{ steps.version.outputs.version }}
    notes-file: RELEASE_NOTES.md
    artifacts: |
      linux-x86_64 installer src-tauri/target/release/bundle/appimage/App_${{ steps.version.outputs.version }}_amd64.AppImage
      linux-x86_64 updater   src-tauri/target/release/bundle/appimage/App_${{ steps.version.outputs.version }}_amd64.AppImage
    channel: stable
  env:
    MOCCO_API_KEY: ${{ secrets.MOCCO_API_KEY }}

같은 파일을 종류마다 한 번씩, 두 번 적습니다. updater 줄에서는 파일 옆의 .sig를 읽습니다. deb라면 대신 deb/…_amd64.deb 두 줄을, rpm이라면 rpm/… 두 줄을 쓰세요.

Mocco는 업데이트를 linux-x86_64 키와, 새 업데이터 플러그인이 먼저 찾는 키로 함께 제공합니다. 기본은 linux-x86_64-appimage이고, 업데이트 번들 이름이 .deb나 .rpm으로 끝나면 linux-x86_64-deb나 linux-x86_64-rpm입니다. tauri.conf.json은 바꿀 필요가 없습니다. 엔드포인트의 {{target}}/{{arch}}가 이미 linux/x86_64입니다.

다른 플랫폼과 함께 게시하기

macOS, Windows, Linux를 릴리스 하나로 배포하려면 플랫폼마다 자기 러너에서 빌드하고 한 작업에서 모든 파일을 게시하세요. 모든 플랫폼을 빌드해 릴리스 하나로 게시하기를 참고하세요.

다음 단계

  • Windows용 Tauri 앱 게시하기: NSIS 또는 MSI, Authenticode를 다룹니다.

  • curl로 게시하기: 어떤 CI에서든 같은 업로드를 실행합니다. AppImage와 rpm의 콘텐츠 유형은 application/octet-stream, deb는 application/vnd.debian.binary-package를 쓰세요.