Continuous Integration: Improving Software Quality and Risk Reducing 32904

Паперова книга
32904
Continuous Integration: Improving Software Quality and Risk Reducing - фото 1
2'600
2 людини

Все про “Continuous Integration: Improving Software Quality and Risk Reducing”

Від видавця

For any software developer who has spent days in "integration hell," cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.

The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive project better visibility.

The book covers

How to make integration a "non-event" on your software development projects
How to reduce the amount of repetitive processes you perform when building your software
Practices and techniques for using CI effectively with your teams
Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
Assessments of different CI servers and related tools on the market

Зміст

Table of Contents
Foreword by Martin Fowler xiii
Foreword by Paul Julius xv

Передмові xix
About the Authors xxxi
About the Contributors xxxiii
Part I: A Background on CI: Principles and Practices 1
Chapter 1: Getting Started 3
Build Software at Every Change 4

Features of CI 12

Summary 20

Questions 20

Chapter 2: Introducing Continuous Integration 23
A Day in the Life of CI 25

What Is the Value of CI? 29

What Prevents Teams from Using CI? 32

How Do I Get to Continuous Integration? 33

When and How Should a Project Implement CI? 35

The Evolution of Integration 36

How Does CI Complement Other Development Practices? 37

How Long Does CI Take to Set Up? 38

CI and You 39

Commit Code Frequently 39

don't Commit Broken Code 41

Fix Broken Builds Immediately 41

Write Automated Developer Tests 41

All Tests Inspections and Must Pass 42

Run Private Builds 42

Avoid Getting Broken Code 43

Summary 44

Questions 44

Chapter 3: Reducing Risks Using CI 47
Risk: Lack of Deployable Software 49

Risk: Late Discovery of Defects 53

Risk: Lack of Project Visibility 55

Risk: Low-Quality Software 57

Summary 62

Questions 62

Chapter 4: Building Software at Every Change 65
Automate Builds 67

Perform Single Command Builds 69

Separate Build Scripts from Your IDE 73

Centralize Software Assets 74

Create a Послідовне Directory Structure 75

Fail Builds Fast 76

Build for Any Environment 77

Build Types and Mechanisms 78

Use a Dedicated Integration Build Machine 81

Use a CI Server 85

Run Manual Integration Builds 86

Run Fast Builds 87

Stage Builds 92

How Will This Work for You? 96

Summary 101

Questions 102

Part II: Creating a Full-Featured CI System 105
Chapter 5: Continuous Database Integration 107
Automate Database Integration 110

Use a Local Database Sandbox 117

Use a Version Control Repository to Share Database Assets 119

Continuous Database Integration 121

Give the Developers Capability to Modify the Database 123

The Team Focuses Together on Fixing Broken Builds 124

Make the DBA Part of the Development Team 124

Database Integration and the Integrate Button 125

Summary 126

Questions 128

Chapter 6: Continuous Testing 129
Automate Unit Tests 132

Automate Component Tests 134

Automate System Tests 136

Automate Functional Tests 137

Categorize Developer Tests 138

Run Faster Tests First 141

Write Tests for Defects 143

Make Component Tests Repeatable 148

Limit Test Cases to One Assert 156

Summary 158

Questions 159

Chapter 7: Continuous Inspection 161
What Is the Difference between Inspection and Testing? 164

How Often You Should Run Inspectors? 165

Code Metrics: A History 166

Reduce Code Complexity 167

Perform Design Reviews Continuously 170

Maintain Organizational Standards with Code Audits 173

Reduce Duplicate Code 176

Assess Code Coverage 180

Evaluate Code Quality Continuously 182

Summary 185

Questions 186

Chapter 8: Continuous Deployment 189
Release Working Software Any Time, Any Place 191

Label a Repository's Assets 191

Produce a Clean Environment 194

Label Each Build 195

Run All Tests 196

Create Build Feedback Reports 196

Possess Capability to Roll Back Release 199

Summary 199

Questions 200

Chapter 9: Continuous Feedback 203
All the Right Stuff 205

Use Continuous Feedback Mechanisms 209

Summary 222

Questions 222

Epilogue: The Future of CI 223
Appendix A: CI Resources 227
Continuous Integration Web Sites/Articles 227

CI Tools/Product Resources 229

Build Scripting Resources 232

Version Control Resources 233

Database Resources 234

Testing Resources 236

Automated Inspection Resources 239

Deployment Resources 241

Feedback Resources 241

Documentation Resources 243

Appendix B: Evaluating CI Tools 245
Considerations When Evaluating Tools 247

Automated Build Tools 255

Build Scheduler Tools 263

Conclusion 272

Bibliography 273
Index 275
Передмові
Download the Передмові

Foreword
Download the Foreword

Index
Download the Index

Анотація

Continuous Integration: Improving Software Quality and Risk Reducing

Рецензії

0

Всі характеристики

Товар входить до категорії

  • Самовивіз з відділень поштових операторів від 45 ₴ - 80 ₴
  • Доставка поштовими сервісами - тарифи перевізника
Схожі товари
Clean Agile: Back to Basics (Robert C. Martin Series) 1st Edition
114482
Robert C. Martin
665 ₴700 ₴
Безпека розробки в Agile-проектах
78371
Лаура БеллМайкл Брантон-СполлРич СмитДжим Бэрд
800 ₴
Agile-тестирование. Обучающий курс для всей команды
92738
Джанет ГрегориЛиза Криспин
871 ₴
Create Your Successful Agile Project. Collaborate, Measure, Estimate, Deliver. 1st Ed.
244802
Johanna Rothman
2'000 ₴
Hands-On Guide to AgileOps. A Guide to Implementing Agile, DevOps, and SRE for Cloud Operations. 1st Ed.
244682
Navin Sabharwal, Raminder Rathore, Udita Agrawal
2'100 ₴