Modern, best of breed, continuous integration tools allow developers to
define their delivery pipeline as code and store it in the repository
alongside the application source code. Doing so allows you to manage
your pipeline much like you would your application source code. In this
post, we will go over how to accomplish this using AWS CodeCommit,
AWS Lambda, AWS CodePipeline, and AWS CloudFormation. This approach will
also enable branch-based builds for CodePipeline, a large gap in the
CodePipeline feature set currently.