AWS DevOps
AWS
is one of the cloud service providers. In this post, I will put my focus on tools
for a pipeline, source code repository, build and deployment with Amazon Web Services
Build and Deployment Tools using AWS services
- AWS
CodePipeline
- AWS
CodeCommit
- AWS
CodeBuild
- AWS
CodeDeploy
1) AWS CodePipeline
AWS CodePipeline is the CI/CD Pipeline which helps to have a visual view of the end to
end delivery process of an Application.
In a CodePipeline, usually, we configure the following:
Source Code Repository: Source code repository services in AWS are Coode commit,
S3 and GitHub
Build Service: AWS
Code Build will be configured as part of the CI/CD pipeline.
Deploy: AWS code deploy will be configured into the pipeline
2) AWS Code Commit
AWS Code Commit is a private Git repo on AWS and also secure Version Control Service
(VCS).
A Team can use AWS Code Commit to store their source code or even binaries like the
EAR/WAR/JAR files generated out of the build.
AWS CodeCommit has several benefits:
- Fully
managed
- Able
to store anything
-
Highly available
-
Offers faster development lifecycles
- Works
with your existing tools
-
Secure
3) AWS Code Build
AWS
CodeBuild fetches the latest changes of the source code from AWS CodeCommit or
GitHub repository as configured and based on the build specification YAML file created
as buildspec.yml; the commands in the buildspec.yml are run based on the four phases
like Install, Pre-build, Build and Post-build.
After the build is completed the artifacts (ZIP/WAR/JAR/EAR) are stored in the AWS
Storage which is an S3 bucket.
4) AWS Code Deploy:
AWS Codedeploy is the deployment service that automates the deployment of the application
(in this case WAR file which is stored in S3) to the Amazon EC2 instance or on-premise
instance.
now the artifacts stored in S3 bucket which was generated using AWS CodeBuild the
artifacts are then picked up from the S3 bucket and deployed appropriately to the app
server JBoss or Tomcat etc. in the AWS EC2 instance provisioning or on-premise server
AWS CodeDeploy depends on a YAML file called and specified in the appspec.yml which
contains the instructions on the deployment to the EC2 instances or on the premise
environment.