Skip to main content

AWS CodePipeline

Updated Jul 26, 2020 ·
NOTES

This is not an exhaustive documentation of all the existing AWS Services. These are summarized notes that I used for the AWS Certifications.

To see the complete documentation, please go to: AWS documentation

Overview​

AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates.

  • Continuous delivery
  • Visual workflow
  • Source: GitHub, CodeCommit, Amazon S3
  • Build: CodeBuild, Jenkins, etc...
  • Load Testing: 3rd par ty tools
  • Deploy: AWS CodeDeploy, Beanstalk, CloudFormation, ECS...
  • Made of stages:
    • Each stage can have sequential actions and / or parallel actions.
    • Stages examples: Build, Test, Deploy, Load Test, etc...
    • Manual approval can be defined at any stage.

CodePipeline Artifacts​

Each pipeline stage can create Artifacts. Amazon S3 buckets that CodePipeline uses to store artifacts used by pipelines. When you first use the CodePipeline console in a region to create a pipeline, CodePipeline automatically generates this S3 bucket in the AWS region.

CodePipeline Troubleshooting​

  • CodePipeline state changes happen in AWS CloudWatch Events, which can in return create SNS notifications.
  • Example: We can create events for failed pipelines • Ex: you can create events for cancelled stages.
  • If CodePipeline fails a stage, your pipeline stops and you can get information in the console.
  • AWS CloudTrail can be used to audit AWS API calls.
  • If Pipeline can't perform an action, make sure the “IAM Service Role” attached does have enough permissions (IAM Policy).