Reliable Software Releases through Build, Test, and Deployment Automation ( Adobe Reader). Continuous Delivery (eBook, ePUB) - Farley, David; Humble, Jez. Continuous Integration, Delivery, and Deployment, Sander Rossel, Packt Publishing. Des milliers de livres avec la livraison chez vous en 1 jour ou en magasin. [PDF] Download Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley.
|Language:||English, Spanish, Arabic|
|Genre:||Politics & Laws|
|ePub File Size:||15.55 MB|
|PDF File Size:||11.16 MB|
|Distribution:||Free* [*Sign up for free]|
Download Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation (Addison-Wesley Signature. Contribute to aaquresh/CITraining development by creating an account on GitHub. A curated collection of free DevOps related eBooks - ber5ien/Free-DevOps- Books
He showed me around his project and one of the interesting aspects of his highly disciplined team was the fact that they deployed their software into production every night. This regular deployment gave them many advantages: written software wasn't waiting uselessly before it was used, they could respond quickly to problems and opportunities, and the rapid turn-around led to a much deeper relationship between them, their business customer, and their final customers. In the last decade I've worked at ThoughtWorks and a common theme of our projects has been reducing that cycle time between idea and usable software. I see plenty of project stories and they almost all involve a determined shortening of that cycle. While we don't usually do daily deliveries into production, it's now common to see teams doing bi-weekly releases. Dave and Jez have been part of that sea-change, actively involved in projects that have built a culture of frequent, reliable deliveries.
Software that's been successfully integrated into a mainline code stream still isn't software that's out in production doing its job.
Dave and Jez's book pick up the story from CI to deal with that 'last mile', describing how to build the deployment pipelines that turn integrated code into production software.
This kind of delivery thinking has long been a forgotten corner of software development, falling into a hole between developers and operations teams.
So it's no surprise that the techniques in this book rest upon bringing these teams together, a harbinger of the nascent but growing "devops" movement. This process also involves testers, as testing is a key element of ensuring error-free releases.
Threading through it all is a high degree of automation so things can be done quickly and without error.
Getting all this working takes effort, but benefits are profound. Long, high intensity releases become a thing of the past. Customers of software see ideas rapidly turned into working code that they can use every day.
Perhaps most importantly we remove one of the biggest sources of baleful stress in software development. Nobody likes those tense weekends trying to get a system upgrade released before Monday dawns. It seem to me that a book that can show you how to deliver your software frequently and without the usual stresses is a no-brainer to read.
Finding defects downstream through inspection such as manual testing is time-consuming, requiring significant triage. Then we must fix the defect, trying to recall what we were thinking when we introduced the problem days or perhaps even weeks ago.
Creating and evolving feedback loops to detect problems as early as possible is essential and never-ending work in continuous delivery.
If we find a problem in our exploratory testing, we must not only fix it, but then ask: How could we have caught the problem with an automated acceptance test? When an acceptance test fails, we should ask: Could we have written a unit test to catch this problem?
Work in Small Batches In traditional phased approaches to software development, handoffs from dev to test or test to IT operations consist of whole releases: months worth of work by teams consisting of tens or hundreds of people.
In continuous delivery, we take the opposite approach, and try and get every change in version control as far towards release as we can, getting comprehensive feedback as rapidly as possible.
Working in small batches has many benefits. It reduces the time it takes to get feedback on our work, makes it easier to triage and remediate problems, increases efficiency and motivation, and prevents us from succumbing to the sunk cost fallacy. The reason we work in large batches is because of the large fixed cost of handing off changes.
A key goal of continuous delivery is to change the economics of the software delivery process to make it economically viable to work in small batches so we can obtain the many benefits of this approach.
Thus computers and people complement each other. Many people worry that automation will put them out of a job.
This is not the goal.