Skip to content
이 페이지는 AI의 도움으로 작성 및 번역되었습니다. 부정확한 내용이 있으면 개선에 참여해 주세요. GitHub에서 편집

데스크탑 배포

Fenfa는 직접 파일 다운로드를 통해 데스크탑 애플리케이션 (macOS, Windows, Linux)을 배포합니다. 데스크탑 사용자가 제품 페이지를 방문하고 다운로드 버튼을 클릭하면 플랫폼에 맞는 설치 파일을 받습니다.

지원 형식

플랫폼일반 형식비고
macOS.dmg, .pkg, .zip디스크 이미지용 DMG, 설치 프로그램용 PKG, 앱 번들용 ZIP
Windows.exe, .msi, .zip설치 프로그램용 EXE, Windows Installer용 MSI, 포터블용 ZIP
Linux.deb, .rpm, .appimage, .tar.gzDebian/Ubuntu용 DEB, Fedora/RHEL용 RPM, 범용 AppImage

데스크탑 변형 설정

지원하는 각 플랫폼과 아키텍처 조합에 대한 변형을 생성합니다:

macOS

bash
# Apple Silicon
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "macos",
    "display_name": "macOS (Apple Silicon)",
    "identifier": "com.example.myapp",
    "arch": "arm64",
    "installer_type": "dmg",
    "min_os": "12.0"
  }'

# Intel
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "macos",
    "display_name": "macOS (Intel)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "dmg",
    "min_os": "12.0"
  }'

유니버설 바이너리

유니버설 macOS 바이너리를 빌드하는 경우 별도의 arm64 및 x86_64 변형 대신 arch: "universal"로 단일 변형을 생성합니다.

Windows

bash
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "windows",
    "display_name": "Windows",
    "identifier": "com.example.myapp",
    "arch": "x64",
    "installer_type": "exe",
    "min_os": "10"
  }'

Linux

bash
# Debian/Ubuntu용 DEB
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "linux",
    "display_name": "Linux (DEB)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "deb"
  }'

# AppImage (범용)
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "linux",
    "display_name": "Linux (AppImage)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "appimage"
  }'

플랫폼 감지

Fenfa의 제품 페이지는 User-Agent를 통해 방문자의 운영 체제를 감지하고 일치하는 다운로드 버튼을 강조합니다. 데스크탑 사용자는 자신의 플랫폼 변형을 상단에서 보고 다른 플랫폼을 아래에서 볼 수 있습니다.

데스크탑 빌드 업로드

업로드는 모바일 플랫폼과 동일하게 작동합니다:

bash
curl -X POST http://localhost:8000/upload \
  -H "X-Auth-Token: YOUR_UPLOAD_TOKEN" \
  -F "variant_id=var_macos_arm64" \
  -F "[email protected]" \
  -F "version=2.0.0" \
  -F "build=200" \
  -F "changelog=Native Apple Silicon support"

데스크탑은 자동 감지 없음

iOS IPA 및 Android APK 파일과 달리 데스크탑 바이너리 (DMG, EXE, DEB 등)는 Fenfa가 자동으로 추출할 수 있는 표준화된 메타데이터를 포함하지 않습니다. 데스크탑 빌드를 업로드할 때 항상 versionbuild를 명시적으로 제공하세요.

CI/CD 통합 예제

모든 데스크탑 플랫폼에 대한 빌드를 업로드하는 GitHub Actions 워크플로우:

yaml
jobs:
  upload:
    strategy:
      matrix:
        include:
          - platform: macos
            variant_id: var_macos_arm64
            file: dist/MyApp-arm64.dmg
          - platform: windows
            variant_id: var_windows_x64
            file: dist/MyApp-Setup.exe
          - platform: linux
            variant_id: var_linux_x64
            file: dist/MyApp.AppImage
    steps:
      - name: Upload to Fenfa
        run: |
          curl -X POST ${{ secrets.FENFA_URL }}/upload \
            -H "X-Auth-Token: ${{ secrets.FENFA_UPLOAD_TOKEN }}" \
            -F "variant_id=${{ matrix.variant_id }}" \
            -F "app_file=@${{ matrix.file }}" \
            -F "version=${{ github.ref_name }}" \
            -F "build=${{ github.run_number }}"

다음 단계

Released under the Apache-2.0 License.