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などを使ったスキル開発も可能になります。