DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for [AWS Experiment] 4 - Using AWS CICD
Sunbeom Kweon (Ben)
Sunbeom Kweon (Ben)

Posted on • Updated on

[AWS Experiment] 4 - Using AWS CICD

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 write buildspec.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
Enter fullscreen mode Exit fullscreen mode

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)

DEV

Thank you.

Β 
Thanks for visiting DEV, we’ve worked really hard to cultivate this great community and would love to have you join us. If you’d like to create an account, you can sign up here.