Zeit를 사용하여 2분 이내에 NestJS 애플리케이션을 클라우드에 배포합니다!

Originally published on the Trilon Blog by


NestJS를 운영 라인에 배포:


  • Part 1: Deploy NestJS to Zeit Now.sh (본문)
  • Part 2: Deploy NestJS to Azure Functions
  • ... 더 많아...
  • 우리는 무엇을 실현하고 싶습니까?


    본고에서 우리는 몇 분 안에 NestJS 응용 프로그램을 클라우드 플랫폼 Zeit Now에 배치하는 방법을 이해할 것이다!

    See the "Hello World" NestJS + Zeit Now live demo:
    NestJS-Zeit.Now.sh


    You can find the Github code example here


    Zeit'지금'이 뭐예요?


    Zeit는 현재 서버 없이 배포할 수 있는 클라우드 플랫폼입니다.
    이것은 매우 간단하고 사용하기 쉬운 플랫폼으로 사용자가
    정적 웹 사이트에서 서버/서버 없는 응용 프로그램으로 즉각적이고 자동으로 확장되며, 이 모든 것은 최소한의 설정만 하면 된다.
    이것은 프런트엔드 응용 프로그램(Angular/React/Vue/etc)이나 선택한 모든 백엔드-Go, Node를 포함합니다.js, Python과 둘 사이의 모든 것!
    NestJS는 노드입니다.어쨌든 js 프레임워크라면 우리는 지금처럼 믿을 수 없는 클라우드 플랫폼을 어떻게 이용하여 우리의 응용 프로그램을 배치합니까?

    설정 가져오기


    NOTE: In this demonstration, we'll be showcasing a new NestJS application generated by the CLI, but if you prefer to use an existing NestJS application - feel free - and just skip ahead !


    새 NestJS 애플리케이션 생성


    프레젠테이션을 위해 최신 NestJS CLI가 설치되어 있는지 확인하고 새 응용 프로그램을 만듭니다.
    ☁ npm i -g @nestjs/cli
    ☁ nest new PROJECT_NAME
    
    이제 새로 만든 디렉토리에 들어가서 IDE를 엽니다.이제 NestJS 어플리케이션을 간단히 생성할 수 있습니다.

    지금 Zeit 설정


    # Install the Now CLI
    ☁ npm i -g now
    
    Now CLI(또는 create an account)에 로그인했는지 확인합니다.
    ☁ now login
    # enter email & password
    
    좋아, 다행이야!"Hello world"의 NestJS 응용 프로그램이 있습니다 & 지금 설정되어 있습니다. 다음은 어떻게 해야 합니까?

    지금 NestJS에 Zeit 구성


    일반적으로 Now를 사용하면 배포가 매우 간단합니다. 터미널에서 cd을 입력하면 됩니다.
    그러나 이것만으로는 우리 NestJS 응용 프로그램에는 통하지 않는다.
    현재 now 파일(일반적으로 프로젝트 루트 디렉터리에 있음)을 통해 Deployment Configuration을 설정할 수 있습니다.

    지금json 설정


    now.json 프로필을 사용하면 배포의 여러 가지 측면을 제어할 수 있습니다.
  • 배포/프로젝트 이름
  • 별칭(즉, 도메인 URL)
  • 생성 설정
  • 라우팅
  • 서비스 정적 자산
  • much more...
  • 응용 프로그램의 루트 디렉터리에 now.json 파일을 만들고 다음 JSON 코드를 추가합니다.
  • 참고: 아래 now.json을 원하는 값으로 설정할 수 있습니다.
  • {
      "version": 2,
      "name": "nestjs-now",
      "builds": [
        {
          "src": "dist/main.js",
          "use": "@now/node"
        }
      ],
      "routes": [
        {
          "src": "/(.*)",
          "dest": "dist/main.js"
        }
      ]
    }
    

    이 설정은 무엇을 합니까?


  • 구축
  • name줄에 있습니다. Now 생성기는 파일 "use": "@now/node"을 노드의 입구점으로 합니다.js 함수, 의존항을 구축하고 Lambda에 묶습니다.
  • 은 하루가 끝날 때 NestJS가 자바스크립트로 컴파일되어 표준 노드처럼 실행된다는 것을 기억합니다.js 서버
  • 기본적으로 NestJS는 백그라운드에서 Express를 사용하지만 Fastify로 전환할 수도 있습니다.
  • @now/node에 대한 더 많은 정보 here

  • 노선
  • 우리는 모든 루트 dist/main.js이 우리가 NestJS 응용 프로그램에 설정한 API 루트로 처리되었는지 확인하고 싶어서 현재 메인 파일이 어디에 있는지만 알려 드리겠습니다.
  • Now routes 더 많은 정보 here
  • 구축 및 배포


    현재, 우리는 이미 모든 설정을 완성했다. - 즉시 그것을 배치하자!
    NestJS는 TypeScript 기반 노드입니다.js 프레임워크, 그래서 우리는 우리가 생산을 위해 그것을 구축하는 것을 확보해야 한다(/(.*)). 그리고 우리는 지금 그것을 할 수 있다(npm run build)!!
    ☁ npm run build && now
    
    # ---------------------
    #    example output
    # ---------------------
    
    > [email protected] build /Users/Documents/Trilon/zeit-now-nestjs
    > tsc -p tsconfig.build.json
    
    > Deploying ~/Documents/Trilon/zeit-now-nestjs under trilon-io
    > Using project nestjs-now
    > Synced 2 files (462.27KB) [2s]
    > https://nestjs-zeit.now.sh/ [v2] [928ms]
    > Ready! Aliased to https://nestjs-zeit.now.sh/ [in clipboard] [43s]
    

    NestJS 배포☁ !


    만약 당신이 위로 보거나 (또는 당신의 단말기에서 보거나 당신이 따라 보면) 우리는 단말기에 URL이 출력된 것을 볼 수 있습니다!그것은 자동으로 우리의 클립보드에 복사되기 때문에 계속 브라우저를 열어 보세요!!
    "안녕하세요, 세상"은 그 모든 신기한 영광에...

    NOTE: Inspecting the page itself we can see that it was infact served up by an Express server, just as a default NestJS application is setup to do!


    우리 찾았어!


    몇 분 만에 작은 now 파일 하나로 Zeit로 NestJS 응용 프로그램을 클라우드로 가져왔습니다!

    See the "Hello World" NestJS + Zeit Now live demo:
    NestJS-Zeit.Now.sh


    You can find the Github code example here


    어쨌든


  • 이제 NestJS 응용 프로그램을 클라우드에 배치하는 것은 더욱 간단해졌다.
  • 은 배포 전에 스크립트가 NestJ를 구축하고 있는지 확인합니다.
  • json을 NestJS 구축을 위한 구성으로 설정합니다.
  • 즐기기☁ 책임감 있게!
  • 좋은 웹페이지 즐겨찾기