You are on page 1of 71

Automating Software Releases with

AWS CodePipeline

Wes Novack
CLOUD ARCHITECT & ENGINEER

@WesleyTech
AWS Continuous Delivery Tools

CodeDeploy CodeBuild CodePipeline


Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Deployment monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Pipeline execution monitoring
Demos
Continuous Delivery pipelines

Overview Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Pipeline execution monitoring
Demos
Continuous Delivery Pipelines
Continuous Delivery Pipelines

A Continuous Delivery tool


Defines your entire deployment process
Ties together disparate systems
Flows code out to production
Continuous Delivery Pipelines

A Continuous Delivery tool


Define your entire release process
Ties together disparate systems
Flows code out to production
Continuous Delivery Pipelines

A Continuous Delivery tool


Define your entire release process
Ties together disparate systems
Flows code out to production
Continuous Delivery Pipelines

A Continuous Delivery tool


Define your entire release process
Ties together disparate systems
Flows code out to production
Prerequisites for CodePipeline
Prerequisites for CodePipeline

AWS account
Prerequisites for CodePipeline

AWS account IAM credentials


Every pipeline requires a
minimum of 2 stages
Prerequisites for CodePipeline

Source code
Prerequisites for CodePipeline

Source code Build process


Prerequisites for CodePipeline

Source code Build process or Deployment


Benefits of CodePipeline

Fully managed pipeline service


Pay only for active pipelines
Tightly knit AWS integrations
Third party developer tool actions
Extensible via Lambda and custom actions
Benefits of CodePipeline

Fully managed pipeline service


Pay only for active pipelines
Tightly knit AWS integrations
Third party developer tool actions
Extensible via Lambda and custom actions
Benefits of CodePipeline

Fully managed pipeline service


Pay only for active pipelines
Tightly knit AWS integrations
Third party developer tool actions
Extensible via Lambda and custom actions
Benefits of CodePipeline

Fully managed pipeline service


Pay only for active pipelines
Tightly knit AWS integrations
Third party developer tool actions
Extensible via Lambda and custom actions
Benefits of CodePipeline

Fully managed pipeline service


Pay only for active pipelines
Tightly knit AWS integrations
Third party developer tool actions
Extensible via Lambda and custom actions
CodePipeline Components
CodePipeline Components

Pipelines
The definitions of software
release processes
CodePipeline Components

Pipelines Executions
The definitions of software The invocations of a defined
release processes pipeline
Pipeline Components
Pipeline Components

Stages
A collection of action
groups that contain
actions
Pipeline Components

Stages Transitions
A collection of action
The connections
groups that contain
between stages
actions
Pipeline Components

Stages Artifacts
Transitions Bundles of code
A collection of action
The connections produced by a stage
groups that contain
between stages and ingested by
actions
another stage
A CodePipeline Stage
Pipeline Stage
A CodePipeline Stage
Pipeline Stage

Action Group
A CodePipeline Stage
Pipeline Stage

Action Group Action Group


A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions
A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions
A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions Actions
A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions Actions
A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions Actions

runOrder: 1

runOrder: 1
A CodePipeline Stage
Pipeline Stage

Action Group Action Group

Actions Actions

runOrder: 1 runOrder: 2

runOrder: 1 runOrder: 2
Visualizing CodePipeline
Pipeline
Visualizing CodePipeline
Pipeline

Source Stage
Visualizing CodePipeline
Pipeline

Source Stage

Action Group

GitHub
action
Visualizing CodePipeline
Pipeline

Source Stage Build Stage


Action Group

GitHub
action
Transition
Visualizing CodePipeline
Pipeline

Source Stage Build Stage


Action Group Action Group

GitHub CodeBuild
action action
Transition
Visualizing CodePipeline
Pipeline

Source Stage Build Stage Deploy Stage

Action Group Action Group Action Group

GitHub CodeBuild CodeDeploy


action action action
Transition Transition
Visualizing CodePipeline
Pipeline

Source Stage Build Stage Deploy Stage

Action Group Action Group Action Group

GitHub CodeBuild CodeDeploy


action action action
Transition Transition
Action Types
Action Types

Source Action
Action Types

Source Action Build Action


Action Types

Source Action Build Action Test Action


Action Types

Source Action Build Action Test Action

Deploy Action
Action Types

Source Action Build Action Test Action

Deploy Action Approval Action


Action Types

Source Action Build Action Test Action

Deploy Action Approval Action Invoke Action


Pipeline Execution Monitoring
Pipeline Execution Monitoring

CodeDeploy Triggers
Publish to an SNS topic when
deployment events occur for a
deployment group
Pipeline Execution Monitoring

CodeDeploy Triggers CloudWatch Events


Publish to an SNS topic when A configured rule can route
deployment events occur for a CodePipeline event info to
deployment group one or more targets
Demo Create a pipeline
Check the pipeline execution results
Edit a pipeline
Set up a CodeDeploy trigger
Configure a CloudWatch event rule
Demo Create a pipeline
Check the pipeline execution results
Edit a pipeline
Set up a CodeDeploy trigger
Configure a CloudWatch event rule
Demo Create a pipeline
Check the pipeline execution results
Edit a pipeline
Set up a CodeDeploy trigger
Configure a CloudWatch event rule
Demo Create a pipeline
Check the pipeline execution results
Edit a pipeline
Set up a CodeDeploy trigger
Configure a CloudWatch event rule
Demo Create a pipeline
Check the pipeline execution results
Edit a pipeline
Set up a CodeDeploy trigger
Configure a CloudWatch event rule
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Actions and Action Providers
Deployment monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Deployment monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Pipeline execution monitoring
Demos
Continuous Delivery pipelines

Summary Prerequisites for CodePipeline


Benefits of CodePipeline
Components of CodePipeline
Action types
Pipeline execution monitoring
Demos

You might also like