CodePipeline is a specification of how your code runs out to production. What it does is connecting source code with a builder (optional) and a deployment platform. For example, you can set it to trigger a deploy to AWS Beanstalk when a Github repository is updated. And with its 1$ / month, it’s practically free to use. However, CodePipeline is currently only available in eu-west (ireland), us-west (oregon) and us-east (n. virginia).
A pipeline consists of:
- A Source (Github or S3 bucket). You can make it trigger e.g. when branch master is updated on a certain Github repo, or an S3 bucket path (zip) is changed.
- An optional Build provider (Jenkins or Solano), that can test and build your code.
- A Beta (AWS CodeDeploy or AWS Elastic Beanstalk) which accepts your code and deploys it.
- A service worker, a IAM role which is allowed to perform the necessary deploy to CodeDeploy or Beanstalk.