Continuous Delivery Pipelines: How To Build Better Software Faster
CI/CD

Continuous Delivery Pipelines: How To Build Better Software Faster

Dave Farley, 2021

Inhaltsverzeichnis des Buches

  • 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
  • Notes