This blog post details how to use AWS CodeDeploy and Maven to create a deployment process that easily supports multiple independent environments, such as staging and production. AWS CODEDEPLOY SETUP Create an AWS CodeDeploy application with a name of your choice. In this example, the name application is used. Under the newly created application, create one deployment group for each environment. The deployment group names should match the environment identifiers: staging, prod. S3 SETUP Create an S3 bucket called application-deployment . Enable versioning for this bucket.