Linked e-resources
Details
Table of Contents
Intro
Table of Contents
About the Author
About the Technical Reviewers
Acknowledgments
Chapter 1: The Pitfalls of CI/CD
Challenges
Oversimplified Diagrams and Misalignment
Lack of Design Patterns
Vulnerabilities
Pipeline Testing
Application Code vs. Infrastructure Code
Organizing and Maintaining Pipelines
Technical Constraints
Legacy
Summary
Chapter 2: CI/CD Concepts
Principles
Positioning of CI/CD
Application Lifecycle Management
CI/CD Journey
Naming Conventions
Summary
Chapter 3: Requirements Analysis
Overview
Way of Working
Technology
Information
Security (General)
Compliance and Auditability
Resource Constraints
Manageability
Operations
Quality Assurance
Metrics
Monitoring
Sustainability
Governance
Summary
Chapter 4: Pipeline Design
Design
CI/CD and Pipeline Design Approach
BPMN 2.0
BPMN Elements Overview
BPMN in Action
Level of Detail
Logical Design vs. Realization
The Generic CI/CD Pipeline
Validate Entry Criteria
Execute Build
Perform Unit Tests
Analyze Code
Package Artifact
Publish Artifact
Provision Test Environment
Deploy Artifact to Test
Perform Test
Validate Infrastructure Compliance
Validate Exit Criteria
Perform Dual Control
Provision Production Environment
Deploy Artifact to Production
Notify Actors
Design Strategies
Context Diagram
Branching Strategy
Trunk-Based Workflow
Feature Branch Workflow
Gitflow
Build Strategy
Vertical Scaling
Full Builds vs. Incremental Builds
Parallel Builds
Pipeline Caching
Build Targets
Cross-Platform Builds
Multiteam Build Strategy
Test Strategy
Automated vs. Manual Tests
Functional vs. Nonfunctional Tests
Parallel Execution vs. Sequential Execution
Manual Tests Performed by Specialists
Long Execution Time vs. Short Execution Time
Release Strategy
Road Map-Based Release
Timeboxed Release
Regular Release
Continuous Deployment
Feature Management-Based Release
Production Deployment Strategy
Re-create Deployment
Blue/Green Deployment
Rolling Update and Canary Deployment
A/B Test Strategy
Other Design Considerations
Delegation
Application Architecture
Orchestration
Event-Based CI/CD
Resource Constraints
Commercial Off the Shelf
Summary
Chapter 5: Pipeline Development
Pipeline Specification
Multibranch, Multistage Pipeline
User Interface-Based Pipelines
Scripted Pipelines
Declarative Pipelines
Constructs
Triggers
Execution Environment
Connections
Variables
Conditions
Caching
Matrix
Deployment Strategy
Auto-cancel
On Success/Failure
Fail Fast
Priority
Test Shards
Templates and Libraries
Gates and Approvals
Workflow
Plugins and Marketplace Solutions
Repositories: Everything as Code
Third-Party Libraries and Containers
Table of Contents
About the Author
About the Technical Reviewers
Acknowledgments
Chapter 1: The Pitfalls of CI/CD
Challenges
Oversimplified Diagrams and Misalignment
Lack of Design Patterns
Vulnerabilities
Pipeline Testing
Application Code vs. Infrastructure Code
Organizing and Maintaining Pipelines
Technical Constraints
Legacy
Summary
Chapter 2: CI/CD Concepts
Principles
Positioning of CI/CD
Application Lifecycle Management
CI/CD Journey
Naming Conventions
Summary
Chapter 3: Requirements Analysis
Overview
Way of Working
Technology
Information
Security (General)
Compliance and Auditability
Resource Constraints
Manageability
Operations
Quality Assurance
Metrics
Monitoring
Sustainability
Governance
Summary
Chapter 4: Pipeline Design
Design
CI/CD and Pipeline Design Approach
BPMN 2.0
BPMN Elements Overview
BPMN in Action
Level of Detail
Logical Design vs. Realization
The Generic CI/CD Pipeline
Validate Entry Criteria
Execute Build
Perform Unit Tests
Analyze Code
Package Artifact
Publish Artifact
Provision Test Environment
Deploy Artifact to Test
Perform Test
Validate Infrastructure Compliance
Validate Exit Criteria
Perform Dual Control
Provision Production Environment
Deploy Artifact to Production
Notify Actors
Design Strategies
Context Diagram
Branching Strategy
Trunk-Based Workflow
Feature Branch Workflow
Gitflow
Build Strategy
Vertical Scaling
Full Builds vs. Incremental Builds
Parallel Builds
Pipeline Caching
Build Targets
Cross-Platform Builds
Multiteam Build Strategy
Test Strategy
Automated vs. Manual Tests
Functional vs. Nonfunctional Tests
Parallel Execution vs. Sequential Execution
Manual Tests Performed by Specialists
Long Execution Time vs. Short Execution Time
Release Strategy
Road Map-Based Release
Timeboxed Release
Regular Release
Continuous Deployment
Feature Management-Based Release
Production Deployment Strategy
Re-create Deployment
Blue/Green Deployment
Rolling Update and Canary Deployment
A/B Test Strategy
Other Design Considerations
Delegation
Application Architecture
Orchestration
Event-Based CI/CD
Resource Constraints
Commercial Off the Shelf
Summary
Chapter 5: Pipeline Development
Pipeline Specification
Multibranch, Multistage Pipeline
User Interface-Based Pipelines
Scripted Pipelines
Declarative Pipelines
Constructs
Triggers
Execution Environment
Connections
Variables
Conditions
Caching
Matrix
Deployment Strategy
Auto-cancel
On Success/Failure
Fail Fast
Priority
Test Shards
Templates and Libraries
Gates and Approvals
Workflow
Plugins and Marketplace Solutions
Repositories: Everything as Code
Third-Party Libraries and Containers