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...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
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