01 Course Overview\
00:00:00 Course Overview
02 Course Introduction\
00:02:10 Introduction
00:06:27 Course Audience and Prerequisites
00:10:09 Course Tour
00:15:52 Continuous Delivery Overview
00:19:01 How to Achieve Continuous Delivery
00:21:49 Why Docker
00:23:56 Continuous Delivery Architecture
00:27:46 Demo - Preparing Your Environment
00:30:28 Installing Docker
00:31:46 Installing Ansible
00:33:14 Installing Other Tools
00:34:52 Creating a Docker Virtual Machine
00:38:11 Summary
03 Creating the Sample Application\
00:40:15 Introduction
00:43:17 Demo - Application Walkthrough
00:45:55 Demo - Creating the Todobackend Web Service
01:00:54 Demo - Unit and Integration Testing
01:12:39 Demo - Acceptance Testing
01:19:18 Demo - Testing the User Interface
01:21:54 Summary
04 UnitIntegration Testing using Docker\
01:22:36 Introduction
01:24:10 Continuous Delivery Workflow
01:26:33 Docker Image Hierachy
01:30:10 Demo - Creating the Base Image
01:35:48 Establishing the Virtual Environment
01:41:45 Building the Base Image
01:43:46 Demo - Creating the Development Image
01:49:08 Creating Application Requirements Files
01:51:09 Development Image Review
01:53:23 Testing the Development Image
02:01:41 Demo - Creating a Docker Compose Environment
02:07:03 Running Tests using Docker Compose
02:11:00 Waiting for a Dependent Service to Initialize
02:15:11 Docker Compose Test Environment Review
02:16:19 Summary
05 Building Artifacts using Docker\
02:17:43 Introduction
02:18:44 Continuous Delivery Workflow
02:20:31 Application Artifact Types
02:22:51 Demo - Building Application Artifacts
02:29:05 Test and Build Consistency
02:31:34 Adding a Builder Service
02:36:07 Building and Publishing Python Wheels
02:41:53 Summary
06 Creating Releases using Docker\
02:43:32 Introduction
02:46:46 Serving the Application
02:52:29 Demo - Creating the Release Environment
02:56:15 Creating the Release Image
02:58:16 Describing the Release Image Part 1
03:00:00 Describing the Release Image Part 2
03:07:03 Testing the Release Image
03:11:23 Demo - Bootstrapping the Application
03:19:39 Bootstrapping the Application Review
03:20:45 Demo - Acceptance Testing
03:24:38 Running Acceptance Tests
03:27:00 Continuous Delivery Workflow Review
03:30:49 Summary
07 Continuous Delivery Automation\
03:31:56 Introduction
03:33:04 Demo - Using the Make Build System
03:38:45 Creating a Makefile
03:42:04 Describing the Workflow
03:46:22 Parameterizing the Makefile
03:51:45 Demo - Workflow Infrastructure
03:55:49 Creating Docker Hub Repositories
04:01:54 Summary
08 Enhancing the Workflow\
04:03:34 Introduction
04:05:43 Dangling Images and Volumes
04:10:59 Improving User Feedback
04:15:11 Self Containment
04:21:07 Ensuring Self Containment
04:25:40 Producing Test Reports
04:27:56 Handling Failures and Errors
04:36:25 Ensuring Consistency
04:44:10 Configuring Consistency
04:47:19 Tagging the Release Image
04:55:42 Publishing the Release Image
04:59:11 Docker Compose v2 Specification
05:08:21 Summary
09 Continuous Delivery Using Jenkins\
05:09:54 Introduction
05:11:19 Demo - Setting up Jenkins Locally
05:18:18 Configuring the Workflow in Jenkins
05:22:39 Testing the Workflow
05:24:06 Creating a Self Defined Workflow
05:26:51 Test Failures
05:28:02 Publishing the Jenkins Image
05:29:08 Demo - Publishing Jenkins to AWS
05:33:28 Initial AWS Setup
05:36:48 AWS VPC Infrastructure
05:40:15 Creating a CloudFormation Template
05:42:09 Defining an EC2 Instance
05:48:39 Defining Security Groups and Roles
05:51:31 Defining Elastic Load Balancers
05:52:59 Configuring the EC2 Container Service
05:56:07 Configuring Stack Outputs
05:57:11 Creating the Stack
06:01:17 Demo - Integrating Jenkins with GitHub and Docker Hub
06:03:24 Testing the Workflow
06:05:41 Configuring GitHub Integration
06:09:25 Configuring Docker Hub Integration
06:11:23 Summary
10 Continuous Deployment using Ansible\
06:12:57 Introduction
06:14:12 Demo - Creating the Application Stack
06:17:33 Configuring Autoscaling
06:21:58 Configuring the Relational Database Service
06:24:54 Configuring the Elastic Load Balancer and EC2 Container Service
06:31:10 Demo - Creating an Ansible Deployment Playbook
06:32:43 Deployment Walkthrough
06:35:59 Configuring Access to AWS
06:38:14 Creating the Playbook
06:41:24 Creating the Stack Task
06:45:33 Installing Custom Ansible Modules
06:49:09 Deploying the Application
06:54:33 Testing the Playbook
06:59:59 Demo - Continuously Deploying the Application using Jenkins
07:03:09 Creating the Jenkins Deployment Job
07:07:30 Continuously Deploying New Releases
07:11:36 Summary