I have set up an AWS AppSync including a GraphQL Schema, corresponding data sources as Dynamo DB tables as well as S3 Buckets from which I read data into the tables employing lambda functions.
I would like to version this setup by means of VCS (ideally, GitHub), such that I can set up a staging and production environment. I have not come across a simple way of doing so, except for simply “copy pasting” everything from one env to the other. Anybody has a better idea?
We’ve have been using Serverless Framework and serverless-appsync-plugin with great success.
Serverless (https://github.com/serverless/serverless) supports staging and it uses CloudFormation under the hood. You can think of it as a nice wrapper for managing and building your CloudFormation deployments.
serverless-appsync-plugin (https://github.com/sid88in/serverless-appsync-plugin) is a Serverless plugin that helps you to write AppSync CloudFormation deployments without clutter.
Perhaps the answers for this question are also helpful: How to develop serverless as a team with AWS AppSync?