AWS CodePipeline automates continuous delivery, allowing you to develop workflows using CodeBuild and CodeDeploy which can be monitored using CloudWatch.


  • Pipelines define the software release process.
  • Executions are invocations of a pipeline.
  • Stages contain action groups, which contain actions.
  • Action Groups contain sets of actions which run in parallel with each other.
  • Actions perform build/test/deployment operations on the source code and artifacts.
  • Transitions are the connections between stages and allow halting a pipeline execution.
  • Artifacts allow stages to accept input emitted by other stages.
  • Action Types declare actions to be carried out.


Pipelines must contain a source stage and either a build or deployment stage.

  • Source fetches the source code.
  • Build builds the source code to produce deployable artifacts.
  • Deployments get the built artifacts (or source code) to a deployed environment.

At least one of build and/or deployment must be provided. Both are expressed as a series of actions.


Actions provide the logic for interactions with external services that carry out the heavy lifting to build and release software.


The built-in Source action supports the following providers:


The Build action performs a build in a supported provider:


Tests can be used to gate the release of the software on the results of a test suite in a supported service:


The Deploy action performs a deployment to a supported AWS service:


Approval provides a means of gating a release based on human approvals.


Invoke can execute Lambda functions, allowing extension of the CodePipeline service to perform bespoke actions.


  • CodeDeploy Triggers publish notifications to an SNS topic.
  • CloudWatch Events route CodePipeline events to the specified targets.


  • $1 per active pipeline
  • Inactive pipelines are free