AWS CICD consists of CodeCommit, CodeBuild, CodeDeploy, and CodePipeline. I am not big fan of AWS CICD since there are many other ways to test & deploy applications other than using AWS. But I think if you want to develop an application fully using AWS services than AWS CICD services could be one of the best options.
CodeCommit
Things that I 😍
- User interface of the console was better than I expected. Not too confusing, simple enough.
- In security terms, I believe CodeCommit is better than GitHub. CodeCommit repositories are private by default But GitHub repositories could be way too public if you don't take care of it.
Things that I 😕
- Cloning and committing to repositories from local PC require IAM knowledge.
CodeBuild
Things that I 😍
- I really enjoyed writing
buildspec.yml
. The experience working with console to writebuildspec.yml
was pretty easy too.
CodeDeploy
Things that I 😍
I think it was handy to select EC2 instances as a deployment group by tagging the same value. But at the same time, I thought it could be hard to manage if you don't be careful about managing tags.
appspec.yml
was not too hard to understand.
Things that I 😕
- I had to install CodeDeploy Agent on all EC2 instances in the deployment group.
I could use CloudFormation to launch those EC2 instances as specific AMI that already has installed CodeDeploy Agent, but I felt like no one would want to use this if they are not familiar with AWS services.
Installing CodeDeploy Agent on EC2 instances
#!/bin/bash
# Installing CodeDeploy Agent
sudo yum update
sudo yum install ruby
# Download the agent (replace the region)
wget https://aws-codedeploy-eu-west-3.s3.eu-west-3.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
sudo service codedeploy-agent status
CodePipeline
Things that I 😍
It triggers build and deploy stages as soon as I commit the changes to CodeCommit.
With CodPipeline, I did not have to do too much work on CodeDeploy part.
The User Interface of CodePipeline was very satisfiable.
Things that I 😕
Still, you have to learn how to manage deployment group at the CodeDeploy.
Hard to reach out CloudWatch log on console.
Top comments (0)