Cargando…

Pipeline as code : continuous delivery with Jenkins, Kubernetes, and Terraform /

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 app...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Labouardy, Mohamed (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Shelter Island, NY : Manning Publications, [2021]
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Intro
  • inside front cover
  • Pipeline as Code
  • Copyright
  • brief contents
  • contents
  • front matter
  • preface
  • acknowledgments
  • about this book
  • Who should read this book
  • How this book is organized
  • About the code
  • liveBook discussion forum
  • Other online resources
  • about the author
  • about the cover illustration
  • Part 1. Getting started with Jenkins
  • 1 What's CI/CD?
  • 1.1 Going cloud native
  • 1.1.1 Monolithic
  • 1.1.2 Microservices
  • 1.1.3 Cloud native
  • 1.1.4 Serverless
  • 1.2 Defining continuous integration
  • 1.3 Defining continuous deployment
  • 1.4 Defining continuous delivery
  • 1.5 Embracing CI/CD practices
  • 1.6 Using essential CI/CD tools
  • 1.6.1 Choosing a CI/CD tool
  • 1.6.2 Introducing Jenkins
  • Summary
  • 2 Pipeline as code with Jenkins
  • 2.1 Introducing the Jenkinsfile
  • 2.1.1 Blue Ocean plugin
  • 2.1.2 Scripted pipeline
  • 2.1.3 Declarative pipeline
  • 2.2 Understanding multibranch pipelines
  • 2.3 Exploring the GitFlow branch model
  • 2.4 Test-driven development with Jenkins
  • 2.4.1 The Jenkins Replay button
  • 2.4.2 Command-line pipeline linter
  • 2.4.3 IDE integrations
  • Summary
  • Part 2. Operating a self-healing Jenkins cluster
  • 3 Defining Jenkins architecture
  • 3.1 Understanding master-worker architecture
  • 3.2 Managing Jenkins workers
  • 3.2.1 SSH
  • 3.2.2 Command line
  • 3.2.3 JNLP
  • 3.2.4 Windows service
  • 3.3 Architecting Jenkins for scale in AWS
  • 3.3.1 Preparing the AWS environment
  • 3.3.2 Configuring the AWS CLI
  • 3.3.3 Creating and managing the IAM user
  • Summary
  • 4 Baking machine images with Packer
  • 4.1 Immutable infrastructure
  • 4.2 Introducing Packer
  • 4.2.1 How does it work?
  • 4.2.2 Installation and configuration
  • 4.2.3 Baking a machine image
  • 4.3 Baking the Jenkins master AMI
  • 4.3.1 Configuring Jenkins upon startup
  • 4.3.2 Discovering Jenkins plugins
  • 4.4 Baking the Jenkins worker AMI
  • Summary
  • 5 Discovering Jenkins as code with Terraform
  • 5.1 Introducing infrastructure as code
  • 5.1.1 Terraform usage
  • 5.2 Provisioning an AWS VPC
  • 5.2.1 AWS VPC
  • 5.2.2 VPC subnets
  • 5.2.3 VPC route tables
  • 5.2.4 VPC bastion host
  • 5.3 Setting up a self-healing Jenkins master
  • 5.4 Running Jenkins with native SSL/HTTPS
  • 5.5 Dynamically autoscaling the Jenkins worker pool
  • 5.5.1 Launch configuration
  • 5.5.2 Auto Scaling group
  • 5.5.3 Autoscaling scaling policies
  • 5.5.4 Workers CPU utilization load
  • Summary
  • 6 Deploying HA Jenkins on multiple cloud providers
  • 6.1 Google Cloud Platform
  • 6.1.1 Building Jenkins VM images
  • 6.1.2 Configuring a GCP network with Terraform
  • 6.1.3 Deploying Jenkins on Google Compute Engine
  • 6.1.4 Launching automanaged workers on GCP
  • 6.2 Microsoft Azure
  • 6.2.1 Building golden Jenkins VM images in Azure
  • 6.2.2 Deploying a private virtual network
  • 6.2.3 Deploying a Jenkins master virtual machine