Video description
In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.
Configuring CI/CD platforms has never been easier!
Ubaldo Pescatore, PagoPA
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.
about the technology
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.
about the book
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!
about the audience
For developers familiar with Jenkins and Docker. Examples in Go.
about the author
Mohamed Labouardy is the CTO and co-founder of Crew.work, a Jenkins contributor, and a DevSecOps evangelist.
A must-read for any aspiring and seasoned devops/release automation engineer.
Giridharan Kesavan, Visa
A very useful resource, not only for setting up and using Jenkins for CI/CD, but also for understanding the importance of Packer, Terraform, Docker, and Kubernetes.
Kosmas Chatzimichalis, Mach7x
A perfect journey through pipeline-based software delivery.
Satej Kumar Sahu, Honeywell
A brilliant, hands-on deep dive into how to implement modern CI/CD pipelines.
Matthias Busch, Otto GmbH
NARRATED BY ADAM NEWMARK
Table of Contents
Part 1. Getting started with Jenkins
Chapter 1 What’s CI/CD?
Chapter 1 Microservices
Chapter 1 Cloud native
Chapter 1 Defining continuous integration
Chapter 1 Using essential CI/CD tools
Chapter 2 Pipeline as code with Jenkins
Chapter 2 Blue Ocean plugin
Chapter 2 Understanding multibranch pipelines
Chapter 2 Test-driven development with Jenkins
Part 2. Operating a self-healing Jenkins cluster
Chapter 3 Defining Jenkins architecture
Chapter 3 Architecting Jenkins for scale in AWS, part 1
Chapter 3 Architecting Jenkins for scale in AWS, part 2
Chapter 3 Preparing the AWS environment
Chapter 4 Baking machine images with Packer
Chapter 4 Baking a machine image
Chapter 4 Baking the Jenkins master AMI
Chapter 4 Discovering Jenkins plugins
Chapter 5 Discovering Jenkins as code with Terraform
Chapter 5 Provisioning an AWS VPC
Chapter 5 VPC subnets
Chapter 5 Setting up a self-healing Jenkins master
Chapter 5 Dynamically autoscaling the Jenkins worker pool
Chapter 5 Autoscaling scaling policies
Chapter 6 Deploying HA Jenkins on multiple cloud providers
Chapter 6 Configuring a GCP network with Terraform
Chapter 6 Microsoft Azure
Chapter 6 Deploying a Jenkins master virtual machine
Chapter 6 DigitalOcean
Part 3. Hands-on CI/CD pipelines
Chapter 7 Defining a pipeline as code for microservices
Chapter 7 Defining multibranch pipeline jobs
Chapter 7 Git and GitHub integration
Chapter 7 Configuring SSH authentication with Jenkins
Chapter 8 Running automated tests with Jenkins
Chapter 8 Automating code linter integration with Jenkins
Chapter 8 Improving quality with code analysis
Chapter 8 Integrating SonarQube Scanner with Jenkins
Chapter 9 Building Docker images within a CI pipeline
Chapter 9 Deploying a Docker private registry
Chapter 9 Tagging Docker images the right way
Chapter 9 Writing a Jenkins declarative pipeline
Chapter 10 Cloud-native applications on Docker Swarm
Chapter 10 Running a distributed Docker Swarm cluster
Chapter 10 Defining a continuous deployment process, part 1
Chapter 10 Defining a continuous deployment process, part 2
Chapter 10 Integrating Jenkins with Slack notifications
Chapter 10 Implementing the Jenkins delivery pipeline
Chapter 11 Dockerized microservices on K8s
Chapter 11 Automating continuous deployment flow with Jenkins
Chapter 11 Migrating Docker Compose to K8s manifests with Kompose
Chapter 11 Packaging Kubernetes applications with Helm
Chapter 11 Discovering Jenkins X
Chapter 12 Lambda-based serverless functions
Chapter 12 Creating deployment packages
Chapter 12 Updating Lambda function code
Chapter 12 Maintaining multiple Lambda environments
Part 4. Managing, scaling, and monitoring Jenkins
Chapter 13 Collecting continuous delivery metrics
Chapter 13 Monitoring Jenkins cluster health
Chapter 13 Centralized logging for Jenkins logs with ELK
Chapter 13 Streaming logs with Filebeat
Chapter 14 Jenkins administration and best practices
Chapter 14 Configuring GitHub OAuth for Jenkins
Chapter 14 Backing up and restoring Jenkins
Chapter 14 Running Jenkins locally as a Docker container