Pipeline as Code: Continuous Delivery with Jenkins, Kubernetes, and Terraform, Video Edition

Pipeline as Code: Continuous Delivery with Jenkins, Kubernetes, and Terraform, Video Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 67 Lessons (9h 47m) | 3.13 GB

Start thinking about your development pipeline as a mission-critical application. Discover techniques for implementing code-driven infrastructure and CI/CD workflows using Jenkins, Docker, Terraform, and cloud-native services.

In Pipeline as Code you will master:

  • Building and deploying a Jenkins cluster from scratch
  • Writing pipeline as code for cloud-native applications
  • Automating the deployment of Dockerized and Serverless applications
  • Containerizing applications with Docker and Kubernetes
  • Deploying Jenkins on AWS, GCP and Azure
  • Managing, securing and monitoring a Jenkins cluster in production
  • Key principles for a successful DevOps culture

Pipeline as Code is a practical guide to automating your development pipeline in a cloud-native, service-driven world. You’ll use the latest infrastructure-as-code tools like Packer and Terraform to develop reliable CI/CD pipelines for numerous cloud-native applications. Follow this book’s insightful best practices, and you’ll soon be delivering software that’s quicker to market, faster to deploy, and with less last-minute production bugs.

Treat your CI/CD pipeline like the real application it is. With the Pipeline as Code approach, you create a collection of scripts that replace the tedious web UI wrapped around most CI/CD systems. Code-driven pipelines are easy to use, modify, and maintain, and your entire CI pipeline becomes more efficient because you directly interact with core components like Jenkins, Terraform, and Docker.

In Pipeline as Code you’ll learn to build reliable CI/CD pipelines for cloud-native applications. With Jenkins as the backbone, you’ll programmatically control all the pieces of your pipeline via modern APIs. Hands-on examples include building CI/CD workflows for distributed Kubernetes applications, and serverless functions. By the time you’re finished, you’ll be able to swap manual UI-based adjustments with a fully automated approach!

Table of Contents

1 Part 1. Getting started with Jenkins
2 What’s CI CD
3 Microservices
4 Cloud native
5 Defining continuous integration
6 Using essential CI CD tools
7 Pipeline as code with Jenkins
8 Blue Ocean plugin
9 Understanding multibranch pipelines
10 Test-driven development with Jenkins
11 Part 2. Operating a self-healing Jenkins cluster
12 Defining Jenkins architecture
13 Architecting Jenkins for scale in AWS, part 1
14 Architecting Jenkins for scale in AWS, part 2
15 Preparing the AWS environment
16 Baking machine images with Packer
17 Baking a machine image
18 Baking the Jenkins master AMI
19 Discovering Jenkins plugins
20 Discovering Jenkins as code with Terraform
21 Provisioning an AWS VPC
22 VPC subnets
23 Setting up a self-healing Jenkins master
24 Dynamically autoscaling the Jenkins worker pool
25 Autoscaling scaling policies
26 Deploying HA Jenkins on multiple cloud providers
27 Configuring a GCP network with Terraform
28 Microsoft Azure
29 Deploying a Jenkins master virtual machine
30 DigitalOcean
31 Part 3. Hands-on CI CD pipelines
32 Defining a pipeline as code for microservices
33 Defining multibranch pipeline jobs
34 Git and GitHub integration
35 Configuring SSH authentication with Jenkins
36 Running automated tests with Jenkins
37 Automating code linter integration with Jenkins
38 Improving quality with code analysis
39 Integrating SonarQube Scanner with Jenkins
40 Building Docker images within a CI pipeline
41 Deploying a Docker private registry
42 Tagging Docker images the right way
43 Writing a Jenkins declarative pipeline
44 Cloud-native applications on Docker Swarm
45 Running a distributed Docker Swarm cluster
46 Defining a continuous deployment process, part 1
47 Defining a continuous deployment process, part 2
48 Integrating Jenkins with Slack notifications
49 Implementing the Jenkins delivery pipeline
50 Dockerized microservices on K8s
51 Automating continuous deployment flow with Jenkins
52 Migrating Docker Compose to K8s manifests with Kompose
53 Packaging Kubernetes applications with Helm
54 Discovering Jenkins X
55 Lambda-based serverless functions
56 Creating deployment packages
57 Updating Lambda function code
58 Maintaining multiple Lambda environments
59 Part 4. Managing, scaling, and monitoring Jenkins
60 Collecting continuous delivery metrics
61 Monitoring Jenkins cluster health
62 Centralized logging for Jenkins logs with ELK
63 Streaming logs with Filebeat
64 Jenkins administration and best practices
65 Configuring GitHub OAuth for Jenkins
66 Backing up and restoring Jenkins
67 Running Jenkins locally as a Docker container

Homepage