An overview of automatically deploying your code in multiple AWS accounts.
Continuous Integration and Continuous Deployment are widely accepted as being best practices in the software development process. Managing to properly design and implement a system which builds and deploys your code to all your environments allows you to shift all your focus to development, saving you precious time.
This article will walk you through the steps required to implement a CI/CD pipeline with Travis CI that builds and deploys your application in three different AWS environments: development, staging and production. We will cover which actions on which branches trigger builds or deployments, where we keep our artifacts to ensure that the code we have tested is exactly the same as the one being deployed and how to ease testing for hot-fixes, when you need them (as much as you want to believe that you will never need them, you will most probably do).
The concepts presented here are not dependant on these tools and can be implemented regardless of your infrastructure. The only prerequisite is the usage of the Gitlfow workflow, presented below.
A very comprehensive article explaining the Gitflow Workflow can be found here. I will assume further on that you are either familiar with it or that you have read the linked article.