Continuous Delivery Pipelines - How to Build Better Software Faster
(By David Farley) Read EbookSize | 25 MB (25,084 KB) |
---|---|
Format | |
Downloaded | 640 times |
Last checked | 12 Hour ago! |
Author | David Farley |
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.
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
Summary
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
An Essential Element 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
A Key Requirement for Deployment Pipelines
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
Summary
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
Summary
Chapter 15 - Release Into Production
The Production Environment
When to Release?
Release Strategies
Feedback from Production
In Production
Making Evidence-Based Decisions
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
Appendices
Appendix A - More Information
The Continuous Delivery Book
The Continuous Delivery YouTube Channel
Continuous Delivery Training
Further Reading
Notes”