CI/CD Design Patterns - Garima Bajpai - E-Book

CI/CD Design Patterns E-Book

Garima Bajpai

0,0
28,79 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

The fast-changing world of software development demands robust CI/CD solutions that go beyond traditional methods to address the complexities of modern pipelines. This practical guide presents proven design patterns to streamline your CI/CD processes, tackling pain points often overlooked by other resources. This book introduces continuous delivery design patterns to help practitioners and engineering teams design, adopt, and implement CI/CD. Drawing from decades of combined industry experience, the expert author team—including DevOps and cloud leader Garima Bajpai, industry expert Michel Schildmeijer, CI/CD framework creator Pawel Piwosz, and open source advocate Muktesh Mishra—provides invaluable insights from leading voices in the industry.
The book lays a solid foundation by starting with the importance of CI/CD design patterns, components, and principles. You’ll learn strategies for scaling CI/CD with a focus on performance, security, measurements, and pipeline auditability, along with infrastructure and release automation. The book also covers advanced design patterns that integrate machine learning, generative AI, and near real-time CI/CD processes.
By the end of this book, you’ll have a deep understanding of continuous delivery design patterns, a solid foundation for audits and controls, and be able to mitigate risks associated with the rapid integration of modern technology into the SDLC.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 515

Veröffentlichungsjahr: 2024

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



CI/CD Design Patterns

Design and implement CI/CD using proven design patterns

Garima Bajpai

Michel Schildmeijer

Muktesh Mishra

Pawel Piwosz

CI/CD Design Patterns

Copyright © 2024 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

The authors acknowledge the use of cutting-edge AI, specifically Grammarly writing assistant, with the sole aim of enhancing text flow, performing plagiarism checks, and correcting certain sentences within the book, thereby ensuring a smooth reading experience for readers. It is important to note that the content itself has been crafted by the authors and edited by a professional publishing team.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Group Product Manager: Preet Ahuja

Publishing Product Manager: Suwarna Patil

Book Project Manager: Ashwini Gowda

Senior Editor: Mohd Hammad

Technical Editor: Arjun Varma

Copy Editor: Safis Editing

Proofreader: Mohd Hammad

Indexer: Rekha Nair

Production Designer: Gokul Raj S.T

DevRel Marketing Coordinator: Rohan Dobhal

First published: December 2024

Production reference: 1151124

Published by Packt Publishing Ltd.

Grosvenor House

11 St Paul’s Square

Birmingham

B3 1RB, UK

ISBN 978-1-83588-964-0

www.packtpub.com

I would like to thank the Canada DevOps Community of Practice, where I have been able to brainstorm a lot of ideas with chapter leads and senior community members. I would also like to thank the open-source community, which provides us with a platform to steer thought leadership in the DevOps and continuous delivery space, especially the Continuous Delivery Foundation ambassadors. My gratitude toward my co-authors and the entire team at Packt; without them, I would not have been able to bring this book to life. Lastly, I would like to express my gratitude toward my husband, Amit Mishra, and my daughter, Akira, for their relentless support and encouragement.

– Garima Bajpai

Writing this book and sharing my learnings with others has been one of the most rewarding experiences of my life. I would like to extend my heartfelt thanks to my co-authors, Garima, Michel, and Pawel—you all are awesome! I am also deeply grateful to the Packt team, the Continuous Delivery Foundation, and the incredible open source community for their invaluable support.

A special thanks to my wife, Anita, and my family for their love, patience, and unwavering support, without which this book would not have been possible. You are my constant source of strength and inspiration.

– Muktesh Mishra

Foreword

When DevOps emerged in 2009, and for several years after, teams in organizations adopted continuous integration/continuous delivery (CI/CD) in a haphazard manner. It was mostly tactical, often an experiment in version control or build automation. It was developers trying to avoid merge hell, trying to deliver something better to their friends in IT operations. It was the dawn of DevOps.

More teams in more organizations tried out more tools, hung together DevOps toolchains by accident, bolting on bit after bit, striving for test coverage, test categories, and all the tests needed. Security and performance got involved. People started to wonder what continuous deployment was and what they could do to limit blast radius using canary testing and other progressive deployment techniques such as blue-green. Infrastructure as Code was part of it. It was all a bit chaotic. Heterogeneous pipelines spawned across departments. Arguments broke out over tool standardization. Platform engineering emerged.

And now times have changed. This book is a fantastic example of what we have learned along these paths we have traveled, the paths all the authors have taken with their twists and turns and dead-ends and lights at the ends of tunnels. Together, they bring their wide and varied expertise of what’s possible when designing CI/CD solutions for your teams in your organization and how to pick the right design pattern for the outcome you seek to achieve, for the constraints that exist for you.

You will benefit from all the learnings that have come before, distilled into these patterns, abstracted to make it easy for you to collaborate with your colleagues on what’s going to work best for you. They address the most common design problems and are adaptable and flexible, so you can make them fit your unique requirements and environments. You truly are standing on the shoulders of giants.

Helen Beal

Head of Ambassador Program, DevOps Institute (PeopleCert)

Contributors

About the authors

Garima Bajpai is an industry leader in DevOps and cloud technologies. She is the founder of the Canada DevOps Community of Practice. She leads the ambassador program for the Continuous Delivery Foundation. Some might know her as a course contributor and instructor for various DevOps courses from leading certification bodies. She has over two decades of experience leading large-scale R&D with a variety of different teams and has helped them adapt DevOps to be able to increase team productivity when it comes to cloud resource deployment. Furthermore, she has collaborated on and contributed to many international conference talks, written several technical blog posts, and published white papers.

Michel Schildmeijer started his career in pharma and then switched to IT, where he increased his multiple-industry knowledge in his role as solutions or IT architect in several industries. At the time of writing this book, he fulfills the role of enterprise architect at the Dutch government. He has received the IT industry-recognized title of Oracle ACE for being an ambassador and community leader in his area of expertise. Michel speaks regularly about technology and the impact of innovation at national and international conferences. He contributes to the open source community and solutions regarding containerization, CI/CD, and DevOps.

Muktesh Mishra is a passionate engineer and open source enthusiast with expertise in cloud computing, DevOps, software architecture, distributed systems, and artificial intelligence. He loves programming across multiple languages and solving complex software problems.

Beyond his professional pursuits, Muktesh is a keen photographer and cook. He has presented at numerous global conferences on topics such as CI/CD, developer productivity, platform engineering, and open source technologies.

Committed to giving back to the community, Muktesh actively contributes to Apache Software Foundation, Microsoft TEALS, and open source forums. He is a proud ambassador for the Continuous Delivery Foundation and the founder of the Sunnyvale Java User Group.

Pawel Piwosz has a long career in SysOps and DevOps areas. With experience in small start-ups and huge, global organizations, he has unique knowledge of processes and executions of DevOps workloads. He is deeply interested in Infrastructure as Code and CI/CD. He authored a CI/CD design framework, which helps organizations create and assess CI/CD processes. He is a DevOps Institute Ambassador, Continuous Delivery Foundation ambassador, and AWS Community Builder. He speaks about DevOps and DevSecOps at multiple conferences and meetups, and he led the DevOps Academy where he was responsible for introducing new engineers to the DevOps world. He is a mentor in the Tech Leaders mentoring program.

About the reviewers

Roshan Mahant is a seasoned senior J2EE/AMANDA solution architect with over 20 years of experience in developing enterprise applications for various industries, including finance, gaming, and e-governance. He has expertise in Java, J2EE, Spring Boot, microservices, and cloud computing (AWS). Roshan has worked on digital transformation projects for state agencies, customizing platforms such as AMANDA for efficient governance. His background also encompasses academic roles in programming and engineering education.

I would like to express my gratitude to my family and friends for their unwavering support throughout this journey. Special thanks to my colleagues for their collaboration and insights, which have greatly contributed to my professional growth.

Mayank Jadhav is a seasoned DevOps engineer with over five years of experience in crafting and optimizing mission-critical deployments. His expertise lies in automating processes, streamlining CI/CD pipelines, and ensuring robust application and infrastructure monitoring. Mayank’s DevOps expertise enables him to deliver business-driven solutions. His focus on automation and monitoring consistently drives positive results in his projects. His dedication to staying updated with industry trends is reflected in his ongoing pursuit of knowledge through technical book reviews and contributions to the DevOps community through his LinkedIn presence, where he is recognized as a Top Cloud Computing Voice.

Table of Contents

Preface

Part 1: Introduction to CI/CD Design Patterns

1

Foundations of CI/CD Design Patterns

An overview of design patterns

Types of design patterns

Where design patterns meet CI/CD

Understanding CI/CD and design patterns

The build cycle

Manual deployment

The evolution of CI/CD

The maturity journey of CI/CD

The evolution of CI/CD deployments – push and pull-based implementation

Implementing testing in CI/CD

The evolution of CI/CD deployments – infrastructure

The key components of design patterns – pipelines and infrastructures

Pipelines – definition and characteristics

Pipelines – techniques and tools

Orchestration – coordinating pipeline execution

Testing – ensuring code quality and reliability

Deployment strategies – efficiently releasing software

Logging and monitoring

Pipelines and Infrastructures

The deployment of CI/CD

Rolling deployments

Blue-green (red-black) deployments

Canary deployments

Summary

Further reading

2

Understanding Types of CI/CD Design Patterns and Their Components

Common CI/CD design patterns

The build and deploy model

Key component – Pipeline as Code

Faster team feedback/feedback loops

Design pattern principles – sequential and parallel execution

How to choose between sequential and parallel execution

Design pattern components – Pipeline as Code

How do you implement PaC?

Design pattern components – Infrastructure as Code

Example Argo CD applications (the Observer pattern)

Summary

3

Advancing on CI/CD Design Patterns – from Testing to Deployment

Design pattern components – test automation

Design pattern components – artifacts

Using artifacts

Artifact components related to CI/CD

Design pattern components – deployment types

Test automation patterns

Branching strategies

Other CI/CD patterns

Industry best practices and challenges

What are the components of a CI/CD pipeline?

What steps should be taken to implement CI/CD?

Why are these industry best practices?

Challenges around implementing CI/CD

Summary

4

Business Outcome Alignment with CI/CD Design Patterns

CI/CD design patterns – strategic intent

State of play – CI/CD design patterns

A decade of action using CI/CD design patterns

Introduction to CI/CD measurements

North Star for CI/CD design patterns

Scaling adoption of CI/CD design patterns

Removing the barrier for CI/CD design pattern adoption

Resistance to change – cultural aspects

Summary

Further reading

Part 2: Structural Design Patterns for CI/CD

5

Exploring Structural CI/CD Design Patterns

Introducing structural design patterns

CI/CD design pattern principles – monorepo and polyrepo scalability

Design examples for the monorepo and polyrepo approaches

CI/CD design patterns – dependencies between pipelines

Key components – tools, code, and modularity

Tools

Code

Modularity

Key components – level of control

Summary

6

Deployment Strategies for Structural Design Patterns for CI/CD

Structural CI/CD Patterns – deployment strategies

Types of deployment strategies

Blue-green deployments

Canary deployments

Feature toggle deployments

A/B testing deployments

Dark launch deployments

Structural CI/CD design patterns and integration of data

Code phase

Build phase

Test phase

Deploy phase

Post-deploy phase

CDEvents

Supply-chain Levels for Software Artifacts

Setting boundaries through access management and policy enforcement

SoD

Summary

Part 3: Behavioral and Domain-Driven Design Patterns for CI/CD

7

Understanding Behavioral Design Patterns for CI/CD

An overview of behavioral CI/CD design patterns

Behavioral CI/CD design pattern principles

Key components – tools and processes for AI-based observability

Tools and processes

AI-based observability

Challenges in implementing behavioral design patterns

Implementing design patterns in CI/CD

Implementation steps in CI/CD – a practical example

Summary

8

Domain-Driven Design Patterns for Regulated Sectors

An overview of a domain-driven CI/CD design pattern

Domain-driven CI/CD design pattern principles – implementing regulation actions

Key components – managing access control

Key components – building artifacts according to regulations

The importance of DDD

Performance considerations of DDD in CI/CD

An example of DDD in CI/CD

A real-life case study

Practical implementation of DDD in CI/CD

Summary

Further reading

Part 4: Creational CI/CD Design Patterns

9

Applying Creational CI/CD Design Patterns

Creational design patterns – the concept

Creational CI/CD design pattern principles – scalability and resilience

Singleton pattern

Factory Method pattern

Abstract Factory pattern

Builder pattern

Prototype pattern

CI/CD cloud-native creational design patterns

Key components – containerization, microservices, and the serverless ecosystem

Containerization

Microservices

Serverless

A real-life example of microservices in a CI/CD ecosystem

Key components – ensuring security and compliance

Implementing CI/CD pipelines based on creational design patterns

Factory Method implementation

Abstract Factory pattern implementation

Builder pattern implementation

Prototype pattern implementation

Singleton pattern implementation

Summarizing the implementation of creational design patterns

Prerequisites of scaling and optimization

Summary

10

Understanding Deployment Strategies – Creational CI/CD with Cloud Providers

Creational design pattern used in CI/CD

Landing zones

Code repositories as a singleton

Singleton creational pattern in a microservices world

Singleton pattern in pipelines

Singletons in clouds

Cloud-native development and its influence on CI/CD patterns

Immutable infrastructure

Microservices

API

IaC

Cloud provider offerings

API-driven communication for microservices

API-driven communication for serverless

Cloud offerings for CI/CD toolset

Microsoft Azure – Azure DevOps

AWS CodePipeline

Deployment strategies

Blue-green deployment strategy

Blue-green modification – blue-violet

Blue-green modification – red-black

Canary deployment

Rolling deployment

Team topologies

Example – Landing zones, CI/CD, and team topologies

Practical examples

CodePipeline Build block – the CI part of the process

CodePipeline Deploy – the CD part

Summary

Further reading

11

Auditing and Assessment of Design Patterns

Overview – taxonomy of assessment and audits

Conducting a comprehensive assessment of CI/CD design patterns

Tools and techniques for comprehensive assessments

Conducting comprehensive audits on CI/CD design patterns

Shifting the auditing process left

Common audit checklist for the CI/CD design patterns

General audit points

Specific audit points

Implementing audit points with quality gates

Impact of audits and assessments

Business value impact

Maturity model of design patterns

Common challenges for comprehensive audits and assessments

Next steps for comprehensive audits and assessments

Summary

Further reading

Part 5: Advanced Design Patterns and Anti-Patterns for CI/CD

12

Advanced CI/CD Design Patterns and Use Cases

Self-learning CI/CD design practices

Understanding real-time utility-based CI/CD design patterns

The challenges of implementing real-time utility-based CI/CD systems

A real-life scenario of implementation challenges

Further evolution and roadmap considerations

Adoption of new architectures and technologies

Scalability

Practical implementation

CI/CD in the near future – generative AI

Summary

13

Exploring Anti-Patterns for CI/CD Design Pattern Deployments

Anti-patterns for CI/CD design patterns

What is an anti-pattern?

Best fit design patterns – considerations

CI/CD design pattern and platform engineering

Exploring a case study of CI/CD integration in platform engineering

The integration of CI/CD in platform engineering

Summary

Part 6: Case Studies

14

Appendix – Knowledge Test and Case Studies

Knowledge test

The quiz

Answers

Case studies

Case 1 – Improving unnecessary “wiring”

Case 2 – Fixing bad decision

Case 3 – Embracing the platform team

Summary

Index

Other Books You May Enjoy

Preface

Hello there! In the evolving landscape of software development, continuous integration and continuous delivery (CI/CD) have become the lifeblood of innovation and efficiency. CI/CD practices empower teams to bring new features or update existing software in order to market in a faster and more reliable way with improved quality.

For organizations of all sizes, adopting CI/CD practices can mean the difference between thriving in a competitive market or lagging behind. CI/CD has become a transformative approach that every organization can benefit from, whether they’re a start-up building their first product or an enterprise with established systems.

This book aims to provide a roadmap through the complex landscape of CI/CD, bridging foundational principles with practical design patterns. We’ll explore how CI/CD can be optimally structured to meet various organizational needs while being scalable and resilient to change.

The need for CI/CD is evident, but implementing it effectively is often challenging, especially on an organization’s scale. This book is designed to fill that gap, offering a pattern-driven approach that takes into account the nuanced requirements of various organizational sizes and development methodologies. You’ll find practical advice, industry insights, and pattern-based solutions that can be readily applied to real-world CI/CD challenges.

Whether you’re a developer, DevOps engineer, architect, or technology leader, this book will serve as both a reference and a guide. Together, we’ll uncover how CI/CD, underpinned by these structural, behavioral, and creational patterns, can elevate your development processes, reduce risk, and increase delivery speed—ultimately, helping your organization move forward with confidence in a fast-paced world.

Who this book is for

The following persona types will specifically benefit from the book:

Senior/principal developers and software architects: Learn about reusable patterns and practices while delivering the softwareSite reliability engineering architects, DevOps architects, and cloud architects: Learn about reliable and quality-driven software delivery and how to design complex pipelines with reusable components utilizing different design patternsEngineering managers: Learn how to gauge the overall quality of the pipeline and delivery of the software along with best practices

This book highlights the relationships and interactions between different tools and practices within CI/CD. The objective is to speed up the development process by providing well-tested, proven development/design paradigms when it comes to CD and its adoption.

Overall, It can be considered a model that you can use to implement CD in specific environments with similar needs.

What this book covers

Chapter 1, Foundations of CI/CD Design Patterns, explains the significance of efficient CI/CD in modern organizations. It also provides an overview of the delivery pipeline and its components.

Chapter 2, Understanding Types of CI/CD Design Patterns and Their Components, talks about key considerations while designing pipelines and also explains the significance of Infrastructure as Code and pipeline as code in the deployment pipeline.

Chapter 3, Advancing on CI/CD Design Patterns – from Testing to Deployment, focuses on pipeline components and stages around artifact management and test automation. It also talks in depth about testing strategies and their significance while designing the delivery pipeline.

Chapter 4, Business Outcome Alignment with CI/CD Design Patterns, talks about how efficient CI/CD practices and architecture can be aligned with business goals such as improved user experiences. It also provides insights to users on some of the best practices to align implementation and adoption of CI/CD design patterns toward bigger business outcomes.

Chapter 5, Exploring Structural CI/CD Design Patterns, provides an overview of structural components in the pipeline and their interaction, especially in terms of monorepo or polyrepo source code repositories. It also talks about how to consider constructs such as the modularity of the pipelines and components while designing a pipeline.

Chapter 6, Deployment Strategies for Structural Design Patterns for CI/CD, talks about different deployment strategies and their trade-offs. It also introduces concepts such as data-driven DevOps where data/feedback loops are integrated into different components by default.

Chapter 7, Understanding Behavioral Design Patterns for CI/CD, discusses the pipeline components and their behavior. It also explains the importance of designing observability into the pipeline and its benefits, such as enhanced debuggability and reduced downtimes. More importantly, it also highlights using observability as a mechanism to improve the pipeline behavior and performance.

Chapter 8, Domain-Driven Design Patterns for Regulated Sectors, discusses the importance and challenges of applying the CI/CD practices in a regulated sector such as banking/finance or healthcare. This chapter also talks about security and access paradigms such as access controls and approval workflows and their importance and implementations.

Chapter 9, Applying Creational CI/CD Design Patterns, focuses on applying creational design patterns such as built-in resilience and scalability into the pipeline design considerations. It provides their implementation in terms of pipeline design for complex and modern software and different workloads (serverless to containers).

Chapter 10, Understanding Deployment Strategies – Creational CI/CD with Cloud Providers, covers the various implementations from different cloud providers and their examples. This chapter also talks about implementing CI/CD from a team topologies perspective and considerations.

Chapter 11, Auditing and Assessment of Design Patterns, discusses a maturity model for design patterns and also running audits while implementing one or multiple patterns for defining the pipeline.

Chapter 12, Advanced CI/CD Design Patterns and Use Cases, covers pipeline design for advanced use cases such as machine learning-based workflows or real-time utility-based workflows. It also talks about various challenges such as performance or implementation and how to solve them with different strategies.

Chapter 13, Exploring Anti-Patterns for CI/CD Design Pattern Deployments, talks about common mistakes to avoid while designing the pipelines.

Chapter 14, Appendix – Knowledge Test and Case Studies, talks about some real-world case studies and examples for designing pipelines.

To get the most out of this book

Here, we will give you some specifications for trying the examples out yourself.

Software/hardware covered in the book

Operating system requirements

Jenkins

Windows, macOS, or Linux (Any)

OpenTofu

Windows, macOS, or Linux (Any)

Kubernetes

Windows, macOS, or Linux (Any)

Download the example code files

There are a few code examples that are also supplemented at multiple places in the book. You can refer to or download the example code files for this book from GitHub at https://github.com/PacktPublishing/CI-CD-Design-Patterns. If there’s an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter/X handles. Here is an example: “The path field in the present instance directs toward the overlays/dev directory, which houses the configuration settings tailored to the developmental environment.”

A block of code is set as follows:

apiVersion: argoproj.io/v1alpha1 kind: Application metadata:   name: my-app-dev spec:

Any command-line input or output is written as follows:

$ docker build -t name:tag -t name:tag -t tag .

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “Go to Administration | System | Pipelines as Code and check the Enable Pipelines as Code box.”

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you’ve read CI/CD Design Patterns, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere?

Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

Scan the QR code or visit the link below

https://packt.link/free-ebook/978-1-83588-964-0

Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directly

Part 1: Introduction to CI/CD Design Patterns

In this part, you will get an idea of how design patterns can be applied to the CI/CD pipeline. You will also learn about the importance of CI/CD and its impact on the overall organization. Moreover, you will be diving into various components of the pipeline and exploring how applying real-world patterns can enable quality delivery and help in achieving organizational goals.

This part has the following chapters:

Chapter 1, Foundations of CI/CD Design PatternsChapter 2, Understanding Types of CI/CD Design Patterns and Their ComponentsChapter 3, Advancing on CI/CD Design Patterns – from Testing to DeploymentChapter 4, Business Outcome Alignment with CI/CD Design Patterns