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가 자동으로 추출할 수 있는 표준화된 메타데이터를 포함하지 않습니다. 데스크탑 빌드를 업로드할 때 항상 version과 build를 명시적으로 제공하세요.

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.