Continuous Integration (CI) and Continuous Delivery (CD): A Practical Guide to Designing and Developing Pipelines
暫譯: 持續整合 (CI) 與持續交付 (CD):設計與開發管道的實用指南
Van Merode, Henry
相關主題
商品描述
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
商品描述(中文翻譯)
使用持續整合(CI)和持續交付(CD)來提高軟體交付的速度。本書介紹了一個改變遊戲規則的方法——如何使用管道自動化軟體交付過程。關於 CI/CD 的理論大致相同,但本書涵蓋了管道的開發過程以及如何對管道本身進行測試。
大多數團隊在編碼時並未考慮 CI/CD 流程本身。我們為什麼不對管道使用與應用程式相同的開發方法呢?管道的程式碼開發經歷與應用程式程式碼開發相似的階段,例如需求分析、開發、測試、實施、運營和監控。這是本書的起點。它描述了管道開發的當前挑戰,以及如何改善和結構化這一過程。它詳細說明了如何設計管道,並展示了 BPMN 2.0 符號的範例。
你將學到什麼
- 知道當前管道開發的缺點和挑戰,例如管道工程師與團隊工作流程之間的不一致、基礎設施即程式碼(IaC)的使用以及管道安全性
- 通過本書提供的超過 60 條 CI/CD 需求的非詳盡清單,了解 CI/CD 需求的重要性,以激發靈感並提高意識
- 了解某些選擇如何影響管道的設計(和實現)
- 熟悉本書詳細解釋的分支策略、構建策略、測試策略、發布策略和部署策略,包括它們對管道設計的影響
- 知道如何對管道進行單元測試,並使用一個真實的範例
- 知道管道中的性能瓶頸是如何產生的,如何檢測它們,以及如何解決它們
- 查看完整的實現,包括程式碼,展示本書中的指導方針如何應用於真實案例
本書適合誰
本書適合參與自動化軟體供應鏈和使用應用程式生命週期管理(ALM)/整合平台(如 Jenkins、CircleCI、Bamboo 和 Azure DevOps)的 DevOps 工程師和解決方案架構師;中級和經驗豐富的 DevOps 工程師(開發人員、運營工程師、測試工程師);以及對 CI/CD 管道開發領域感興趣的 ICT 管理人員。
作者簡介
Henry van Merode is a Solution Architect with over 30 years of experience in ICT within several financial organizations. His experience spans a wide range of technologies and platforms, from IBM Mainframe to Cloud systems on AWS and Azure. He developed, designed, and architected major financial systems such as Internet Banking and Order Management systems, with a focus on performance, high availability, reliability, maintainability, and security. Last 8 years, Henry's expertise has been extended with Continuous Integration, Continuous Delivery, and automated pipelines. As an Azure DevOps community lead, Henry likes to talk about this subject and promotes automating the software supply chain to the teams at his work.
作者簡介(中文翻譯)
亨利·范梅羅德是一位解決方案架構師,在多家金融機構擁有超過30年的資訊與通信技術(ICT)經驗。他的經驗涵蓋了從IBM大型主機到AWS和Azure的雲端系統等多種技術和平台。他開發、設計並架構了主要的金融系統,如網路銀行和訂單管理系統,重點關注性能、高可用性、可靠性、可維護性和安全性。在過去的8年中,亨利的專業知識擴展到了持續整合(Continuous Integration)、持續交付(Continuous Delivery)和自動化管道(automated pipelines)。作為Azure DevOps社群的領導者,亨利喜歡討論這個主題,並向他工作團隊推廣自動化軟體供應鏈。