CodeCommit

  • Access to CodeCommit

    • HTTPS Git Credentials (Generate username and pwd)

    • SSH Keys (Upload public ssh keys)

CodeBuild

  • Build spec file can be only YAML based file buildspec.yml (Cannot have json based build spec file) (for codedeploy you can have either appspec.yml or appspec.json)

CodePipeline

  • Create Pipelines with multiple stages

    • Build, Test, Release, Deploy

CodeDeploy

  • Can deploy software packages using an archive that has been uploaded to an Amazon S3 bucket

  • Can deploy application content from S3, GitHub, or Bitbucket

  • Can be used for deployment activities on EC2, On-Prem, Lambda or ECS

  • CodeDeploy agent must be installed (EC2 and On-prem ONLY) first to use CodeDeploy

  • CodeDeploy agent is not required for Amazon ECS or AWS Lambda

  • CodeDeploy agent communicates outbound using HTTPS over port 443

  • Deployment types

    • In-place deployment : on each instance in the deployment group

  • Applicable to EC2 and On-Prem ONLY , CANNOT be used on ECS or Lambda

  1. Application stopped

  2. Latest app is installed

  3. New version of the app is started and validated

  • Blue/green deployment :

  • Applicable to EC2 , ECS, and Lambda, CANNOT be used on ON-Prem

  • EC2

    • Instances in original deployment group gets replaced with new group of EC2 instances

  • ECS

    • Traffic is shifted from original tasks set to new task set

    • Load balancer are used to reroute traffic

  • Lambda

    • Traffic is shifted from original lambda to newer version of lambda

  • When roll back happens CodeDeploy first updates the failed EC2 instances

CodeStar

  • Quickly setup version control, build and deployment with project dashboard – answer is CodeStar

  • Provides the tools you need to quickly develop, build, and deploy applications on AWS

  • Provides project dashboard to centrally monitor application activity and manage day-to-day development tasks

  • Integrates with Atlassian JIRA, a third-party issue tracking and project management tool