Front cover image for Continuous delivery

Continuous delivery

Print Book, English, ©2011
Addison-Wesley, Upper Saddle River, NJ, ©2011
xxxiii, 463 pages : illustrations ; 24 cm.
9780321601919, 0321601912
620303071
- Part I: Foundations
Chapter 1: The Problem of Delivering Software
Introduction
Some Common Release Antipatterns
How Do We Achieve Our Goal?
What Are the Benefits?
The Release Candidate
Principles of Software Delivery
Summary
Chapter 2: Configuration Management
Introduction
Using Version Control
Managing Dependencies
Managing Software Configuration
Managing Your Environments
Summary
Chapter 3: Continuous Integration
Introduction
Implementing Continuous Integration
Prerequisites for Continuous Integration
Using Continuous Integration Software
Essential Practices
Suggested Practices
Distributed Teams
Distributed Version Control Systems
Summary
Chapter 4: Implementing a Testing Strategy
Introduction
Types of Tests
Real-Life Situations and Strategies
Process
Summary
Part II: The Deployment Pipeline
Chapter 5: Anatomy of the Deployment Pipeline
Introduction
What Is a Deployment Pipeline?
Deployment Pipeline Practices
The Commit Stage
The Automated Acceptance Test Gate
Subsequent Test Stages
Preparing to Release
Implementing a Deployment Pipeline
Metrics
Summary
Chapter 6: Build and Deployment Scripting
Introduction
An Overview of Build Tools
Principles and Practices of Build and Deployment Scripting
Project Structure for Applications That Target the JVM
Deployment Scripting
Tips and Tricks
Summary
Chapter 7: The Commit Stage
Introduction
Commit Stage Principles and Practices
The Results of the Commit Stage
Commit Test Suite Principles and Practices
Summary
Chapter 8: Automated Acceptance Testing
Introduction
Why Is Automated Acceptance Testing Essential?
Creating Acceptance Tests
The Application Driver Layer
Implementing Acceptance Tests
The Acceptance Test Stage
Acceptance Test Performance
Summary
Chapter 9: Testing Nonfunctional Requirements
Introduction
Managing Nonfunctional Requirements
Programming for Capacity
Measuring Capacity
The Capacity-Testing Environment
Automating Capacity Testing
Adding Capacity Tests to the Deployment Pipeline
Additional Benefits of a Capacity Test System
Summary
Chapter 10: Deploying and Releasing Applications
Introduction
Creating a Release Strategy
Deploying and Promoting Your Application
Rolling Back Deployments and Zero-Downtime Releases
Emergency Fixes
Continuous Deployment
Tips and Tricks
Summary
Part III: The Delivery Ecosystem
Chapter 11: Managing Infrastructure and Environments
Introduction
Understanding the Needs of the Operations Team
Modeling and Managing Infrastructure
Managing Server Provisioning and Configuration
Managing the Configuration of Middleware
Managing Infrastructure Services
Virtualization
Cloud Computing
Monitoring Infrastructure and Applications
Summary
Chapter 12: Managing Data
Introduction
Database Scripting
Incremental Change
T$$270
"A Martin Fowler signature book"--Cover