Alexa配置部署(分段和产品)练习

时间:2017-11-16 07:51:42

标签: alexa-skills-kit

您好我是使用ask-cli部署Alexa Skill Kit的新手。我只是想知道是否有任何部署实践,我们有不同的配置,skills.json.ask/config

例如,我有一个存储库some-alexa-skill,包含2个分支:staging和production。

staging具有skills.json

的此配置
{
  "skillManifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
          "name": "staging"
        }
      },
      "isAvailableWorldwide": true,
      "distributionCountries": []
    },
    "apis": {
      "custom": {
        "endpoint": {
          "uri": "staging",
          "sourceDir": "lambda/custom"
        }
      }
    },
    "manifestVersion": "1.0"
  }
}

production有这个:

{
  "skillManifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
          "name": "production"
        }
      },
      "isAvailableWorldwide": true,
      "distributionCountries": []
    },
    "apis": {
      "custom": {
        "endpoint": {
          "uri": "production",
          "sourceDir": "lambda/custom"
        }
      }
    },
    "manifestVersion": "1.0"
  }
}

我可以观察到git资源库中应该“忽略”skill.json,因为在“发布到生产”期间发生合并时它将被替换。我想只是忽略skills.json而只是在我想要部署时更改它。但我也在考虑允许其他人在自己的机器上部署它的能力。

有关如何使用ask-cli处理此问题的任何建议?

1 个答案:

答案 0 :(得分:2)

使用API​​应该允许您根据需要控制源和目标目标。使用“配置文件”将允许您保留单独的凭据集。

使用ask-cli时有2种不同的控制级别。一个是高级别的,简化了创建,克隆和更新技能。这些使用格式:

  • “ask new ...”或“ask clone”创建或复制现有技能
  • “ask deploy ...”更新部分或全部技能。

可以使用较低级别的API,以实现更具体的控制。它们使用“ask api ...”格式,并允许您指定要上载/下载的特定文件。我发现这些对于有分期,开发,测试分支等的项目更好。

在所有ask命令中,您可以提供一个配置文件,指定Alexa开发人员帐户的凭据和Lambda的AWS账户。使用“ask init”进行设置。我保留了以下单独的个人资料:

  • 使用我的个人账户的家庭/爱好项目
  • 我的工作相关的开发/调试
  • 我的工作客户项目可供我们的测试人员和客户访问。

亚马逊文档写得很好,并解释了如何使用ask-cli。它只是没有说明为什么你会使用多个配置文件等。

我希望这会有所帮助。从Amazon ask-cli quick start开始,然后点击参考文档的链接。

要注意的一件事是确保使用最新的ask-cli下载。截至今天它是1.0.0-beta.4。您可以使用“ask -v”命令显示已安装的版本。早期的1.0.0-beta.1版本中的deploy命令存在问题。