Description
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 looks like and how testing of pipelines themselves should be performed.
Most teams just plunge into coding, without thinking about the CI/CD process itself. Why don’t we use the same development method for pipelines that we use for apps?
Pipelines code development undergoes similar stages as application code development, such as requirements analysis, development, testing, implementation, operations, and monitoring. This is the starting point of the book. It describes the current challenges with pipeline development and how this process can be improved and structured. It describes in detail how to design pipelines and shows examples in BPMN 2.0 notation.
What You’ll Learn
- Know the shortcomings and challenges of current pipeline development such as misalignment between the pipeline engineer and the team’s workflow, the use of infrastructure as code (IaC), and pipeline security
- Understand the need for CI/CD requirements through the book's non-exhaustive list of more than 60 CI/CD requirements provided to inspire and increase awareness
- See how certain choices affect the way a pipeline is designed (and realized)
- Become familiar with branching strategy, build strategy, test strategy, release strategy, and deployment strategy that are explained in detail in the book, including their effect on pipeline design
- Know how pipelines can be unit tested, using a real-world example
- Know how performance bottlenecks in a pipeline occur, how they can be detected, and how they can be solved
- View a complete implementation, including code, showing how the guidelines in this book are applied to a real use case
Who This Book Is For
DevOps engineers and solution architects involved with automating the software supply chain and using application lifecycle management (ALM)/integration platforms such as Jenkins, CircleCI, Bamboo, and Azure DevOps; intermediate and experienced DevOps engineers (developers, ops engineers, test engineers); and ICT managers interested in the CI/CD pipeline development domain