AWS CodePipeline

AWS CodePipeline is a continuous delivery service within Amazon Web Services used to model, visualize, and automate the steps required to release software, tying together the rest of the AWS Code family into a single release workflow.

Key points

  • A pipeline is made of user-defined stages, and each stage is made of one or more actions. AWS does not prescribe a fixed stage list — teams define however many stages fit their release process, and each action belongs to one of six action categories: Source, Build, Test, Deploy, Approval, Invoke.
    • Source — the source stage. Since CodeCommit closed to new customers in July 2024, current pipelines typically source from GitHub, Bitbucket, Amazon S3, or Amazon ECR rather than AWS CodeCommit, though existing CodeCommit customers can still use it.
    • Build and Test — commonly handled by AWS CodeBuild, which compiles source code, runs tests, and produces build artifacts.
    • Deploy — commonly handled by AWS CodeDeploy, which pushes the built application to compute targets such as EC2, Lambda, or ECS.
    • Approval — a manual approval action pauses the pipeline until a specified IAM principal reviews and approves (or rejects) the release, typically via an Amazon SNS notification linking back to the console.
    • Invoke — runs an action provider such as an AWS Lambda function or AWS Step Functions state machine to perform custom logic within the pipeline.
  • Automates the steps required to continuously release software changes, forming the backbone of CI/CD on AWS together with AWS CodeBuild and AWS CodeDeploy, with source commonly provided by GitHub, Bitbucket, S3, ECR, or (for existing customers) AWS CodeCommit.
  • Utilized to deploy the application end-to-end once source changes are model, visualized, and released through the pipeline.
  • Offers two pipeline types: V1, with a standard JSON structure for pipeline, stage, and action-level parameters; and V2, which adds parameters for release safety (e.g., pipeline-level variables, stage rollback) and trigger configuration (e.g., filtering triggers by branch or file path). Since December 2024, CodePipeline creates new pipelines as V2 by default when no type is specified.

Pricing

  • V1 pipelines are billed per active pipeline per month; V2 pipelines are billed per action execution minute instead.

Sources