The essential handbook on how to build, use and improve your Continuous Delivery Pipeline.
If you want to create Better Software Faster, then you need Continuous Delivery, and at the heart of Continuous Delivery is the Deployment Pipeline.
You may already have one, or be thinking about building your first! Either way, this book offers a step-by-step guide to get the best Deployment Pipeline for your software.
Written by the inventor of the Deployment Pipeline and author of the award-winning book "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation", Dave Farley, shares his advice and experience in this practical handbook.
Author(s): Dave Farley
Publisher: Leanpub
Year: 2021
Language: English
Pages: 100
Table of Contents
Preface
Deployment Pipeline Foundations
Chapter 1 - Introduction to Continuous Delivery
What is Continuous Delivery?
Three Key Ideas
Seven Essential Techniques
Chapter 2 - What is a Deployment Pipeline?
Scope and Purpose
Key Stages of a Deployment Pipeline
Key Practices for a Deployment Pipeline
Working Efficiently
Small, Autonomous Teams
The Deployment Pipeline is a Lean Machine
Chapter 3 - How to Build a Deployment Pipeline
Getting Started
Create a Commit Stage
Create an Artifact Repository
Create an Acceptance Stage
Create a Simple Version of Production
Next Steps
Chapter 4 - Test Driven Development
What is TDD?
Test First
Test All the Time
The Impact of Test-First on Design
Using `Testability' to Improve Design
Chapter 5 - Automate Nearly Everything
Automation - An Essential Component of Continuous Delivery
Test Automation
Build and Deployment Automation
Automate Data Migration
Automate Monitoring and Reporting
Infrastructure Automation
Benefits of Automation
Tips for Automation
Chapter 6 - Version Control
Control the Variables
What to Version Control?
Reproducible Systems
The Route to Production
Branching
Deployment Pipeline Anatomy
Chapter 7 - The Development Environment
Paving the Way for the Deployment Pipeline.
Chapter 8 - The Commit Cycle
The Gateway to the Deployment Pipeline
Commit Stage Tests
Feedback in Five Minutes
Working in Small Steps
Continuous Integration
Generating Release Candidates
Summary
Chapter 9 - The Artifact Repository
The Heart of the Deployment Pipeline
Scope and Purpose
Storage Management
Next Steps
Chapter 10 - The Acceptance Stage
Confidence to Release
Aims of the Acceptance Stage
Steps in Running Acceptance Tests
What are Acceptance Tests?
How to Write Acceptance Tests
The Four-Layer Approach
Automating the Acceptance Stage
Scaling Up
Tips for Writing Acceptance Tests
Chapter 11 - Manual Testing
The Role of Manual Testing
When to Add Manual Testing
Chapter 12 - Performance Testing
Evaluating the Performance of our System
Pass/Fail Performance Tests
Testing Usability
Component-Based Performance Testing
System-Level Performance Testing
High-Performance, Low-Latency Systems
Long-Running Tests
Control the Variables
Chapter 13 - Testing Non-Functional Requirements
What are Non-Functional Requirements?
Scalability
Testing Failure
Compliance and Regulation
Provenance
Audit and Traceability
Security Testing
Team Responsibility
Chapter 14 - Testing Data and Data Migration
Continuous Delivery and Data
Data Migration
Data Migration Testing Stage
Data Management
Limits of Deployment-Time Migration
Testing and Test Data
Chapter 15 - Release Into Production
Defining Releasability
The Production Environment
When to Release?
Release Strategies
Feedback from Production
In Production
Conclusion
Whole Pipeline Considerations
Chapter 16 - Infrastructure As Code
What is Infrastructure As Code?
Infrastructure Configuration Management
Recommended Principles
Recommended Practices
Infrastructure As Code and the Cloud
Chapter 17 - Regulation and Compliance
Responding to Regulatory Requirements
Techniques that Facilitate Regulatory Compliance
What Can Go Wrong?
The Deployment Pipeline as a Tool for Compliance
Continuous Compliance
Chapter 18 - Measuring Success
Making Evidence-Based Decisions
Purpose
Quality
Efficiency
Throughput and Stability
Calculating Lead Time
Improving Lead Time
Follow a Lean approach
Chapter 19 - The LMAX Case Study
About LMAX
Scope and Scale
Design, Tools and Techniques
The Commit Stage in 4 Minutes
The Acceptance Stage in 40 Minutes
A Decision on Releasability in 57 Minutes
Into Production
Take-Aways
Chapter 20 - The Role of the Deployment Pipeline
Appendices
Appendix A - More Information
The Continuous Delivery Book
The Continuous Delivery YouTube Channel
Continuous Delivery Training
Further Reading