(Automated Software Deployment)
AWS CodeDeploy is a part of AWS deployment services which includes AWS Elastic Beanstalk, AWS CodePipeline, AWS CloudFormation, and AWS OpsWorks. AWS CodeDeploy combines application deployments to Amazon EC2 instances, on-premises instances or both.
An application may contain deployable content like code, web, configuration files, executables, packages, scripts and much more.
LET’S SEE THE BENEFITS OF AWS CODEDEPLOY
Automated Deployments: AWS CodeDeploy robotizes your application deployments throughout your development, test, and production environments. AWS CodeDeploy scales with your infrastructure so that you can deploy one instance or thousands at a time.
Reduces the downtime: AWS CodeDeploy helps you in maximizing your application availability by performing rolling updates across your Amazon EC2 instances and track the application according to the rules you have configured. A developer can stop and roll back the deployments if there are any errors.
Centralized Control: A developer can launch and track the status of your deployments through the AWS CodeDeploy console. You will receive a report that lists, when each application revision has to be deployed and to which Amazon EC2 instances.
Easy to adopt: AWS CodeDeploy works with any platform and with any application. You can easily reuse your set-up code. AWS CodeDeploy can also be integrated with your software release process or Continuous delivery tool chain.
THE OVERVIEW OF DEPLOYMENT
- Firstly, a developer has to create a deployable content such as web pages, executable files, and setup scripts on a local development machine or similar environment. Then add an application specification file (AppSpec file).
AppSpec file is a unique file to Aws CodeDeploy. It defines the deployment actions which you wanted to execute. Then a developer assorts the deployable content and the AppSpec file into an archive file, and uploads it to an Amazon S3 bucket or a GitHub repository. This archive file is called an application revision.
- A developer provides AWS CodeDeploy with the information about the deployment, such as, which Amazon S3 bucket or GitHub repository to pull for the revision and which set of Amazon EC2 instances to be used to deploy its content. AWS CodeDeploy calls a set of Amazon EC2 instances which is called as deployment group.
- The AWS CodeDeploy agents on each instance polls to determine what and when has to be pulled for the revision from the specified Amazon S3 bucket or Github repository.
- Lastly, the AWS CodeDeploy agent on each instance pulls the target revision from the specified Amazon S3 bucket, using the instructions which are given in the AppSpec file and deploys the contents of the instance.
AWS CodeDeploy keeps a record of your deployments so that, you can get the information such as deployment status, deployment configuration and much more whenever you want.