ASK CLI(v2)のフックでデプロイ時にカスタムコマンドを実行する

ASK CLI(v1)と同様にASK CLI(v2)にもフックがあります。 Step by Step フックのディレクトリを作成する まずはディレクトリを作成しましょう。 Get default script from […]

広告ここから
広告ここまで

目次

    ASK CLI(v1)と同様にASK CLI(v2)にもフックがあります。

    Step by Step

    フックのディレクトリを作成する

    まずはディレクトリを作成しましょう。

    $ mkdir hooks

    Get default script from GitHub

    V2での変更点としてはフックコマンドがデフォルトの処理も上書きするということです。

    そのためhooks/build.shを配置した場合、npm installやzipコマンドを含めないとエラーが発生します。

    ==================== Deploy Skill Infrastructure ====================
      ✖ Deploy Alexa skill infrastructure for region "default"
    [Error]: ENOENT: no such file or directory, stat '/Users/development/sandbox/ForkedExample/.ask/lambda/build.zip'

    一番手軽な対応方法は、GitHubにあるデフォルトのコマンドをそのまま持ってくることです。

    $ cd hooks
    $ wget https://raw.githubusercontent.com/alexa/ask-cli/master/lib/b
    uiltins/build-flows/nodejs-npm/build.sh
    $ chmod +x ./build.sh

    Edit the script

    あとはDLしたスクリプトをカスタマイズするだけです。下の例ではnpm run buildを追加しています。

    install_dependencies() {
      [[ $DO_DEBUG == true ]] && display_debug "Installing NodeJS dependencies based on the package.json." 
      [[ $DO_DEBUG == false ]] && QQ=true # decide if quiet flag will be appended
    
      npm install --production ${QQ:+--quiet}
      // Add a new command!
      npm run build ${QQ:+--quiet}
      return $?
    }

    Conclusion

    今回は方法だけですが、このやり方を使うことでlernaやTypeScirpt、Rollupなどを使ったスキル開発も可能になります。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark