チュートリアルのコードをHerokuにデプロイする

目次

REST APIサーバー(Extensionサーバー)を用意します。Extensionサーバーは、ユーザーの発話に対してどのようにClovaデバイスが対応するかを決定するサーバーです。なお、Extensionサーバーは、Custom Extension、Clova Extensions Kit(以降、CEK)、およびClovaを介して、Clovaデバイスと通信します。

概要

このチュートリアルでは、チュートリアルのために作成されたコードをHerokuにデプロイし、Extensionサーバーを用意します。

注:ExtensionサーバーがListenするポートを443番に設定し、HTTPSで通信するように設定してください。なお、Herokuの場合は、自動的に443番に設定されます。

Clova Extensions Kitソフトウェア開発キット(CEK SDK)とは

Clova Extensions Kitソフトウェア開発キット(CEK SDK)は、CEKを簡単に利用するためのソフトウェア開発キットです。チュートリアルのコードでは、「CEK SDK for Node.js」を利用しています。そのため、Clova Developer Centerの「Custom Extensionを作成する」に書かれている内容を、簡単に実装できています。なお、Clova Developer Centerには、CEK SDKを使用しないチュートリアルも用意されています。詳しくは、「簡単なExtensionを作成する」を参照してください。

  1. Herokuのアカウントを作成し、Heroku CLIをインストールします。

  2. GitHubからTutorials for Clova documentationリポジトリをクローンし、clova-extension-sample-cafeディレクトリに移動します。

    ターミナルまたはコマンドラインアプリケーションで、以下のコマンドを入力します。

    $ git clone https://github.com/line/clova-extension-sample-cafe
    $ cd clova-extension-sample-cafe
    
  3. クローンしたコードのconfig.jsを修正します。

    YOUR_EXTENSION_IDを、「(3)Custom Extension(チュートリアルスキル)を作成する」で作成したCustom Extension(チュートリアルスキル)のExtension IDに修正して保存します。

    修正前:

      APPLICATION_ID: "YOUR_EXTENSION_ID",
    

    修正後(例):

      APPLICATION_ID: "com.example.tutorial.anystring",
    
  4. Herokuにログインします。

    詳しくは、「Getting started」を参照してください。

  5. Herokuにアプリケーションを作成します。

    ターミナルまたはコマンドラインアプリケーションで、以下のコマンドを入力します。

    $ heroku create
    

    Herokuにアプリケーションが作成され、以下のように表示されます。

    Creating app... done, ⬢ xxxxx-xxxxx-00000
    https://xxxxx-xxxxx-00000.herokuapp.com/ | https://git.heroku.com/xxxxx-xxxxx-00000.git
    

    「xxxxx-xxxxx-00000」の部分が、アプリケーション名です。

    また、チュートリアル用のURLは「https://xxxxx-xxxxx-00000.herokuapp.com/tutorial-N」です。「N」の部分は、チュートリアル1の場合は「1」、チュートリアル2の場合は「2」です。

  6. コードをHerokuにデプロイします。

    ターミナルまたはコマンドラインアプリケーションで、以下のコマンドを入力します。

    $ git push heroku master
    
  7. ログを確認します。

    ターミナルまたはコマンドラインアプリケーションで、以下のコマンドを入力します。

    $ heroku logs --tail --app xxxxx-xxxxx-00000
    

    「xxxxx-xxxxx-00000」の部分は、手順6で表示されたアプリケーション名です。

    最後に以下のように表示されていれば、デプロイに成功しています。

    (省略)
    2019-01-18T05:27:21.296864+00:00 app[web.1]: 
    2019-01-18T05:27:21.296886+00:00 app[web.1]: > clova-extension-sample-cafe@1.0.0 start /app
    2019-01-18T05:27:21.296888+00:00 app[web.1]: > node app.js
    2019-01-18T05:27:21.296889+00:00 app[web.1]: 
    2019-01-18T05:27:21.528527+00:00 app[web.1]: Server is running on 00000 port
    2019-01-18T05:27:22.888944+00:00 heroku[web.1]: State changed from starting to up
    

{{ $t("form.question.helpful") }}

{{ $t("form.question.detail") }}

{{ $t("form.question.improve") }}

{{ $t("form.info.start") }}{{ $t("form.info.link") }}{{ $t("form.info.end") }}


{{ $t("form.result.success") }}
{{ $t("form.result.error") }}
{{ $t("form.result.errorLink") }}