Now로 시작하는 나우에서 영 LINEClova 생활 (Node.js편)

여기 의 기사로 소개한 Now로 이번은 LINE Clova의 스킬을 배포해 나가려고 합니다.

배포할 것



GitHub - line/clova-extension-sample-dice
샘플 스킬인 sample-dice를 Now로 배포해 봅시다.

「주사위를 흔들어」라고 하면 1~6으로 랜덤한 수를 돌려주는 스킬입니다.

기본 정보의 등록이나 대화 모델의 작성 등의 정보는 이쪽을 참고로
간단한 Extension 만들기 - Clova Developer Center β

이번에는 위에서 말한 Extension 서버에 Now를 이용한다는 것입니다.

Now에서 배포



Now 설치



일단 설치하지 않았다면

or

npm을 사용하여 설치
npm i -g now

package.json에 시작 스크립트 추가



package.json에 스킬 시작 명령을 작성합니다.

package.json
"scripts": {
    "start": "node app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

별칭 설정



now에서는 배포할 때마다 [https://앱 이름 - 임의의 문자열 .now.sh]라는 URL이 제공됩니다.
LINEClova의 스킬은 WebhookURL을 등록해야 하므로 배포될 때마다 URL이 변경되면 귀찮아서 alias를 설정합니다.
여기도 package.json에 추가하십시오.

package.json
"now": {
    "alias": "〇〇〇〇"
  },

〇〇〇〇에 자신이 좋아하는 문자를 넣어주세요.
이 상태에서 배포 한 후

now alias

명령을 실행하면 [https://〇〇〇〇.now.sh]라는 URL로 액세스할 수 있습니다.

그래서 대시 보드에 alias 실행 후 URL을 먼저 넣어주세요.



Extension ID 설정



인증에 사용할 Extension ID를 설정해야 합니다.
sample-dice에서는 config.js에 정의되어 있습니다.
module.exports = {
  SERVER_PORT: process.env.SERVER_PORT || 3000,
  DOMAIN: 'https://clova-common.line-scdn.net/dice',
  ExtensionId: 'com.example.dice'
}

Now의 프리 플랜에서는 코드가 보이기 때문에
Extension ID와 같은 비밀 정보는 환경 변수를 뿌립니다.

이를 위해 Secrets라는 것을 사용합니다.
htps // t. 코 / 드 cs / 갓찐 g - s r d / 세 센 ts

터미널에서
now secret add extension-id YOUR_EXTENTION_ID

YOUR_EXTENTION_ID에는 직접 대시보드에서 설정한 정보를 입력하세요.

그리고 Secrets의 정보가 어떤 환경 변수에 연결되어 있는지 package.json에 설명합니다.
alias를 추가할 때 만든 now 곳에 추가해 주세요.

package.json
 "now": {
    "alias": "〇〇〇〇",
    "env": {
      "EXTENTION_ID": "@extension-id"
    }

그런 다음 config.js의 Extension ID 부분을 환경 변수에서 읽습니다.
module.exports = {
  SERVER_PORT: process.env.SERVER_PORT || 3000,
  DOMAIN: 'https://clova-common.line-scdn.net/dice',
  ExtensionId: process.env.EXTENTION_ID
}


이제 배포 중에 Extension ID에 환경 변수 정보가 포함됩니다.

배포



나머지는 지금
now



Success가 나오면 완료!

alias 반영



이 상태에서는 https://〇〇〇〇.now.sh에서 액세스할 수 없으므로 alias의 내용을 반영합니다.
now alias

이 명령을 실행하면

alias에 설정한 내용의 URL에 연결해 줍니다.


이쪽도, Success!라고 나오면 성공입니다.

테스트



튜토리얼대로 대화 모델 등을 작성하고 있다면, 대화 모델의 테스트 툴을 사용하면 올바른 응답이 돌아올 것이라고 생각합니다.



이상으로 완성입니다!

마지막으로



실제로 자신도 Now를 사용하여 Clova의 스킬을 2개 정도 전달하고 있습니다만, 간단하게 배포할 수 있어 꽤 편리합니다.

HEROKU등과 달리, 수면을 시키지 않게 하는 방법도 있으므로, 다음번은 그 기사를 쓸까라고 생각합니다.

좋은 웹페이지 즐겨찾기