핵심 개념

사이트 매니페스트

Showly가 경로, 빌드 명령 및 런타임 요구 사항을 설명하는 방법입니다.

사이트 매니페스트는 Showly에서 사이트를 구축, 배포 및 제공하는 방법을 알기 위해 사용하는 문서입니다. 가져온 작업공간의 루트에 showly.json로 존재합니다. 이는 모든 빌드의 정보 소스입니다. 자동 감지는 가져올 때 초기 버전을 생성합니다. 언제든지 직접 편집할 수 있습니다.

기본값은 .rootDirectory를 제외한 모든 필드는 선택 사항입니다. Showly는 자동 감지를 통해 합리적인 기본값을 채우므로 최소한의 유효한 매니페스트는 빈 객체가 될 수 있습니다.

모양

{
  "rootDirectory": ".",
  "runtime": "node",
  "runtimeVersion": "22",
  "packageManager": "pnpm",
  "installCommand": "pnpm install",
  "buildCommand": "pnpm build",
  "output": {
    "type": "static",
    "directory": "dist"
  },
  "startCommand": "node server.js"
}

필드 참조

rootDirectory — 사이트가 포함된 저장소 내의 디렉터리입니다. 기본값은 .입니다. 단일 저장소가 하위 디렉토리에 사이트를 보유하는 경우 이를 설정하십시오.

runtime — 배포된 사이트의 실행 런타임입니다. static, node, rust, go 또는 docker 중 하나입니다. 생략하면 Showly는 감지된 프레임워크에서 이를 추론합니다.

runtimeVersion — 런타임 버전(예: Node 주 버전)입니다. Showly 현재 Active LTS 라인을 지원합니다. 라이브 세트는 GET /admin/platform/runtime-catalog에 있습니다.

packageManager — 사용할 패키지 관리자입니다(예: pnpm, npm 또는 yarn). 기본값은 잠금 파일에서 감지된 것입니다.

installCommand — 종속성을 설치하는 쉘 명령입니다. 패키지 관리자의 표준 설치 명령이 기본값입니다.

buildCommand — 배포 가능한 아티팩트를 생성하는 셸 명령입니다. 기본값은 프레임워크의 표준 빌드 명령이지만 직접 제공할 수도 있습니다.

output — 빌드가 아티팩트를 방출하는 위치와 방법. 두 개의 선택적 키인 type(아티팩트 종류) 및 directory(rootDirectory를 기준으로 빌드가 작성하는 경로)가 있는 중첩 객체입니다.

startCommand — 수명이 긴 프로세스를 실행하는 런타임용 서버를 시작하는 명령입니다(예: node). 정적 사이트에는 필요하지 않습니다.

프레임워크 감지

framework은 매니페스트 입력이 아님 — Showly은 package.json, 잠금 파일 및 기타 저장소 규칙에서 자동 감지합니다. 감지된 값은 astro, vite, next-export, static-html, custom, unknown 중 하나입니다. 프레임워크가 unknown로 확인되면 UnsupportedFrameworkError와 함께 빌드가 실패합니다. runtime을 설정하고 프로젝트 Showly를 배포하기 위해 명시적으로 관련 명령을 분류할 수 없습니다.

직접 편집해야 하는 경우

  • 빌드 명령을 변경했고 Showly가 따르기를 원합니다.
  • 저장소의 하위 디렉터리에 사이트가 있습니다 — rootDirectory로 설정하세요.
  • 자동 감지가 런타임을 잘못 추측했습니다. runtime를 명시적으로 설정하세요.
  • 설치 또는 시작 명령이 패키지 관리자 기본값과 다릅니다.

검증 및 실패 모드

  • showly.json가 유효하지 않거나(JSON) 개체가 아닌 다른 것으로 구문 분석하는 경우 InvalidManifestError와 함께 빌드가 실패합니다.
  • 프레임워크를 분류할 수 없는 경우(unknown로 확인) UnsupportedFrameworkError와 함께 빌드가 실패합니다.

매니페스트가 제어하지 않는 것

  • 환경 변수 값 - Showly UI에서 환경별로 설정되며 비밀 저장소에 있습니다.
  • 승인 규칙 - 작업 공간 정책입니다.
  • 배포 대상(서버리스 컨테이너 대 정적 CDN) - 배포 대상 설정입니다.

매니페스트는 _빌드의 모습_입니다. 작업 공간 설정은 _결과에 대해 누가 무엇을 할 수 있는지_입니다.