프레임워크별 배포

정적 HTML

서버 없이 일반 파일 또는 정적 빌드 결과를 배포합니다.

HTML·CSS·JavaScript·이미지가 들어 있는 폴더는 그대로 배포할 수 있습니다. 사이트 폴더 맨 위에 index.html을 두세요. 프레임워크 의존성은 필요 없습니다.

감지와 빌드 결과

Dockerfile, Next.js 앱, 관리형 프리셋이 선택되지 않으면 마지막으로 일반 정적 배포를 사용합니다. 직접 선택하려면 build.framework: "static"을 지정하세요.

빌드 단계가 있는 프로젝트에서는 빌드 명령 또는 package.json의 build 스크립트를 실행한 뒤 dist → build → out 순으로 폴더를 찾습니다. 결과가 다른 곳에 있다면 소스 루트 기준 상대 경로를 build.outputDirectory에 적으세요. 빌드가 없는 일반 파일은 사이트 폴더 자체를 배포합니다.

nitroship.json (별도 출력 폴더)
{
  "build": {
    "framework": "static",
    "command": "npm run build",
    "outputDirectory": "published"
  }
}

공개 파일만 게시하세요. 출력 폴더가 서버 코드·비밀 값·의존성 폴더를 가리키면 안 됩니다.

배포하기

CLI 설치

curl -fsSL https://nitroship.co/install.sh | bash
ntro login

이미 설치했다면 다음 단계로 넘어가세요. 설치 옵션, PATH 설정 및 업데이트는 CLI 설치에서 확인하세요.

nitroship.json
{
  "build": {"framework": "static"}
}

build.framework를 적으면 자동 감지를 건너뛰고 이 프리셋을 씁니다. 루트에 Dockerfile이 있어도 마찬가지이고, build.dockerfile과는 함께 쓸 수 없습니다. 적지 않았을 때 어떤 순서로 감지하는지는 빌드 방식 선택에 정리해 두었습니다.

ntro apps create my-static-html-app
ntro deploy . --prod

의존성을 먼저 설치하면 ntro deploy . --prod --local로 내 컴퓨터에서 빌드할 수도 있습니다. 배포 후 CLI가 보여 준 주소에서 정적 파일과 하위 경로를 열어 보세요.

이미 준비된 파일

빌드가 끝난 폴더는 내용을 직접 업로드할 수 있습니다.

ntro deploy ./public --app my-static-html-app --prod --local

일반 정적 사이트에는 SPA 대체 규칙이 자동으로 추가되지 않습니다. 클라이언트 라우팅에 필요하다면 nitroship.json에 파일이 없는 경로의 재작성 규칙을 설정하세요.

{"rewrites": [{"source": "/(.*)", "destination": "/index.html"}]}

배포 후 /, 다른 HTML 페이지, 자산 파일을 열어 보세요. 예제 구성은 examples/hello-static에 있습니다.

알아둘 점

정적 배포는 컴퓨트 리전이 필요 없고, SSR이나 서버 API, 서버 미들웨어도 실행되지 않습니다. 브라우저로 내려가는 설정에는 비밀 값을 넣지 마세요. 빌드 시 설정은 환경 변수, 라우팅은 정적 사이트를 참고하세요.

지원하는 어댑터나 출력 구조와 다른 구성이 필요하면 직접 만든 Dockerfile을 사용하세요. 이때 build.framework 설정을 빼고 Dockerfile에서 설치·빌드·실행을 정의합니다.

이 페이지에서