如何使AWS APPSync API从Dev到Staging到Production保持同步?

时间:2018-09-11 14:34:00

标签: amazon-web-services continuous-integration amazon-dynamodb continuous-delivery aws-appsync

假设您有一个名为API-DEV AWS AppSync API 。 它托管GraphQL架构,解析器,数据源,DynamoDB表(例如:Dev_Articles),DynamoDB表配置和DynamoDB数据。该API大约消耗了。同一React应用的50个实例。

您如何自动将最新功能从API-DEV迁移到API-STAGING?请注意,我想更新除数据以外的所有内容。

我要考虑的方法:

  1. 保留要更新的内容的列表,将登台应用程序移至维护模式,然后将更改手动应用于登台环境。每次“发布”都容易发生很多工作,而且容易出错。
  2. aws-cli结合使用某种YAML模板,将更改存储在GIT存储库中,并在推送时自动部署。似乎是执行此操作的好方法,但找不到分步指南,此外,我们所有的配置都已在AWS中,因此我想我们必须使用模板重新创建所有内容。
  3. 使用某种工具可以自动比较和更新两个给定的API和DynamoDB。尚未找到这个。
  4. 构建自己的Nodejs应用,该应用将利用aws-cli进行比较和更新。然后将其托管在 Lamda 上,并通过在React应用程序仓库的stagingmaster分支上按入(代码提交>代码构建>代码部署)来触发。那就是我现在要去的地方,但是那里可能有一个现有的解决方案。

还有其他想法吗?让我知道!

2 个答案:

答案 0 :(得分:1)

使用CloudFormation to model your API。然后,您可以将API配置,解析器和数据源(无数据)作为代码维护,并在各个阶段运行该模板。

为简化CloudFormation的创建,您可以使用AWS Amplify CLI定义GraphQL模式,它将为您自动生成解析器。

答案 1 :(得分:0)

查看以下内容:https://github.com/sid88in/serverless-appsync-plugin

Serverless-appsync-plugin使您的生活更轻松。它的配置应该比设置自己的Cloudformation更为简单。