AWS DevOps Pro Domain 1: SDLC Automation – CodePipeline

By | March 27, 2022

This article is the third in a series covering my AWS DevOps Professional certification study process. Part 2 is here.

Pipeline orchestration with potential service types

CodePipeline is a Continuous Delivery (CD) service & a visual workflow. It automates the build, test, & deploy phases of the release process. Load testing requires 3rd party tools.

CodePipeline happens in stages which the actions can be either sequential or parallel. Manual approval gates can be setup at any point in the pipeline. Each pipeline stage can create an artifact that is used by the next stage. Action categories are Source, Build, Test, Deploy, Approval, and Invoke. Know how runOrder works (default value is 1. If 2 items have the same runOrder – they run in parallel).

Artifacts that are passed on are stored in an intermediate S3 bucket:

Example CodePipeline flow with S3 artifacts

Note that CodePipeline artifacts are NOT the same as CodeBuild artifacts (even though they can both be stored in S3).

Know how to read EventBridge event rules:

Example of manual approval steps which can be created as an action group prior to other actions happening (e.g. manual approval prior to pushing to production):

Event runOrder

EventBridge integration – know your CodePipeline event patterns:

Know CodePipeline best practices and use cases (and do the tutorials!):

Review Invoke an AWS Lambda function in a pipeline & do the 2 tutorials. Understand PutJobSuccessResult and PutJobFailureResult actions along with role of the continuation token.

Do the Create a pipeline with AWS CloudFormation tutorials.

Review & understand the CodePipeline Nested CloudFormation repo:

Read Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy.