ask-cliで作成したAlexa SkillプロジェクトをGit管理する
Alexa Skillをバックエンドから丸ごと簡単に作るには、ask-cliを使うのが便利です。 ask-cliのセットアップ 事前にask initでAmazonとAWSの認証を済ませる必要があります。設定方法などは「 […]
広告ここから
広告ここまで
目次
Alexa Skillをバックエンドから丸ごと簡単に作るには、ask-cliを使うのが便利です。
ask-cliのセットアップ
事前にask init
でAmazonとAWSの認証を済ませる必要があります。設定方法などは「Alexa CLI(β版)をインストールして、スキル一覧を表示させてみた」をみてください。
ask-cliでプロジェクトを作成する
ask new
コマンドで雛形一式を作成することができます。-n {skill名}
オプションをつけない場合、対話形式でスキル名の入力を求められます。
$ ask new
? Please type in your new skill name: example
New project for Alexa skill created.
$ cd example
$ ls -a
.ask lambda models skill.json
ask-cliで作成されたプロジェクトのファイル構成
ask new
でプロジェクトを作成した場合、alexa-sdk
を使ったAWS Lambda(Node.js)をバックエンド構成となります。そのためディレクトリ構成は以下のようになります。
$ tree -L 3
.
├── lambda
│ └── custom
│ ├── index.js
│ ├── node_modules
│ ├── package-lock.json
│ └── package.json
├── models
│ └── en-US.json
└── skill.json
4 directories, 6 files
作成したプロジェクトをGit管理下におく
一見以下のような流れでGitで管理できるAlexa スキルプロジェクトが作れそうに見えます。
$ ask new -n YOUR_SKILL_NAME
$ cd YOUR_SKILL_NAME
$ git init
$ git add ./
$ git commit -m "init alexa project"
しかしask new
コマンドはnpmのライブラリの追加も実施するため、このままだとnode_modules/
配下にある大量のファイルもGit管理になってしまいます。
ということで、以下のような形でgitignoreの設定をしておきましょう。
$ echo "node_modules/" > .gitignore
$ git add ./
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .ask/config
new file: .gitignore
new file: lambda/custom/index.js
new file: lambda/custom/package-lock.json
new file: lambda/custom/package.json
new file: models/en-US.json
new file: skill.json
これでask-cliから作ったプロジェクトをGitで管理することができるようになりました。
[補足].ask/configってなに?
ask new
で作成したものには、.ask/config
というファイルが含まれます。スキルのデプロイ設定などをまとめているもので、デフォルト状態では秘密にすべき情報は含まれません。
{
"deploy_settings": {
"YOUR_PROFILE": {
"skill_id": "",
"was_cloned": false,
"merge": {
"manifest": {
"apis": {
"custom": {
"endpoint": {
"uri": "ask-custom-example-skill"
}
}
}
}
}
}
}
}