Continuous Integration (CI) and Continuous Delivery (CD) - A Practical Guide to Designing and Developing Pipelines
Use continuous Integration (CI) and continuous delivery (CD) to improve the speed of software delivery. This book presents a game changer-how to use pipelines to automate the software delivery process. The theories about CI/CD are much the same, but the book covers what the development of pipelines...
Saved in:
| Main Author: | |
|---|---|
| Format: | eBook |
| Language: | English |
| Published: |
Berkeley, CA
Apress, an imprint of Springer Nature
2023
Apress Apress L. P |
| Edition: | 1 |
| Subjects: | |
| ISBN: | 9781484292273, 1484292278, 1484292286, 9781484292280, 9781480000000 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Table of Contents:
- Title Page Table of Contents 1. The Pitfalls of CI/CD 2. CI/CD Concepts 3. Requirements Analysis 4. Pipeline Design 5. Pipeline Development 6. Testing Pipelines 7. Pipeline Implementation 8. Operate and Monitor 9. Use Case References Index
- 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
- Playbook -- Application Implementation -- Runbook -- Release Note -- Artifact Promotion -- Summary -- Chapter 8: Operate and Monitor -- Manage the Integration Platform -- Operational Pipelines -- Monitor -- Systems Monitoring -- Platform Monitoring -- Business Monitoring -- Security Monitoring -- Share Information -- Events, Alerts, Incidents, and Notifications -- Summary -- Chapter 9: Use Case -- Requirements Analysis -- Pipeline Design -- Branching and Release Strategy -- Release Version Generation -- Pipeline Development -- Code Repository -- Pipeline Creation -- Configure Variable Groups -- Configure Service Connections -- Test -- Integrity of Artifacts -- Performance and Acceptance Pipelines -- Implementation -- Configure the Azure DevOps Prod Environment and Dual Control -- Deploy the Application to Production -- Quality Gate -- Summary -- References -- Index
- 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 -- Versioning and Tagging -- Environment Repository -- Secrets Management -- Database Credentials -- Feature Management -- Development in the Value Streams -- Simplified Pipeline Development -- Extended Pipeline Development -- Advanced Pipeline Development -- Develop a Base Pipeline -- Pipeline Generation -- Pipeline of Pipelines (DevOps Assembly Line) -- Sustainable Pipeline Development -- Summary -- Chapter 6: Testing Pipelines -- Testing Pipelines -- Testability of Pipelines -- Unit Tests -- Performance Tests -- Pipeline Compliance and Security Tests -- Acceptance Tests -- Summary -- Chapter 7: Pipeline Implementation -- Pipeline Implementation -- Organizational Impact -- Team Discipline -- Integration Platform -- Target Environment Preparations

