시작하기

첫 배포

앱을 만들고, 배포하고, 결과를 확인하는 전체 과정을 처음부터 따라 합니다.

이 페이지를 끝까지 따라 하면 https://<앱 이름>.ntro.run 주소에 내 사이트가 올라갑니다.

CLI 설치 및 로그인

CLI 설치

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

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

앱을 만듭니다

배포할 프로젝트 폴더로 이동한 뒤 앱을 만듭니다.

cd my-project
ntro apps create hello-site

hello-site가 앱의 슬러그(주소에 쓰이는 이름)가 되어, 프로덕션 주소는 https://hello-site.ntro.run이 됩니다. 이름을 비워 두면 현재 폴더 이름을 제안합니다.

앱을 만들면 현재 폴더가 이 앱과 연결됩니다. 연결 정보는 .nitroship/app.json에 저장되며, 이후 이 폴더에서는 --app을 붙이지 않아도 어느 앱인지 압니다. 연결하고 싶지 않으면 --no-link를 붙이세요.

이름이 이미 쓰이고 있다면

같은 팀의 앱이 쓰는 이름이면 그 앱에 연결할지 물어봅니다. 다른 사람이 쓰거나 예약된 이름이면 다른 이름을 골라야 합니다.

배포합니다

연결한 폴더에서 바로 배포합니다. --prod는 프로덕션으로 배포하라는 뜻입니다.

ntro deploy . --prod

소스가 원격 빌더로 올라가면 빌더가 의존성 설치와 빌드를 대신 해 줍니다. 프로젝트 종류는 Dockerfile, Next.js, 프레임워크 프리셋, 정적 파일 순으로 자동으로 판단합니다. 원하는 프리셋이 따로 있다면 nitroship.json의 build.framework에 적으세요. 루트에 Dockerfile이 있어도 이 값이 우선하며, build.dockerfile과 함께 쓸 수는 없습니다.

이미 빌드한 정적 파일 폴더만 올리고 싶다면 그 폴더를 지정하세요. 앱 연결 정보는 현재 폴더에만 있고 ./public 같은 하위 폴더에는 없으므로, --app으로 앱을 지정해야 합니다.

ntro deploy ./public --app hello-site --prod

서버를 배포한다면 리전을 먼저 정하세요

서버가 실행될 지역(리전)에는 기본값이 없습니다. 콘솔의 App Settings > Compute에서 고르거나, 프로젝트 루트의 nitroship.json에 {"compute":{"regions":["kr-icn"]}}처럼 적어 두세요. 정적 사이트는 필요 없습니다.

결과를 확인합니다

ntro deploy는 빌드가 끝날 때까지(ready 또는 failed) 기다린 뒤 두 가지 주소를 보여 줍니다.

  • 프로덕션 주소 hello-site.ntro.run: 항상 현재 프로덕션 배포를 보여 줍니다.
  • 리비전 주소 hello-site-<짧은 ID>.rev.ntro.run: 방금 만든 이 배포에 고정된 주소입니다.

배포 목록은 이렇게 봅니다.

ntro deployments list

다음 배포부터는

코드를 고치고 다시 ntro deploy를 실행하면 이번에는 프리뷰로 배포됩니다. 첫 배포만 자동으로 프로덕션이 되고, 그 뒤로는 실수로 서비스 주소가 바뀌지 않도록 프리뷰가 기본값입니다.

ntro deploy            # 프리뷰로 배포해서 확인
ntro deploy --prod     # 바로 프로덕션으로 배포

프리뷰를 확인한 뒤 프로덕션으로 올리는 방법(승격)과 되돌리는 방법(롤백)은 배포 관리에 있습니다.

CI·스크립트에서 실행할 때

터미널 질문이 뜨지 않는 환경(CI, --yes, --json)에서는 연결되지 않은 폴더를 배포할 때 반드시 --app <앱 이름>을 붙이세요. 대화형 터미널에서는 대신 앱을 고르거나 새로 만들도록 물어봅니다.

프레임워크별 안내

다른 배포 방법

이 페이지에서