Continuous Integration

Author: Paul M. Duvall
Publisher: Pearson Education
ISBN: 9780321630148
Release Date: 2007-06-29
Genre: Computers

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 better project 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 The book’s companion Web site, www.integratebutton.com, provides updates and code examples.

Continuous Integration

Author: Paul M. Duvall
Publisher: Addison-Wesley Professional
ISBN: 0321336380
Release Date: 2007
Genre: Computers

Shows how the practice of Continuous Integration (CI) benefits software development by improving quality and reducing risk.

Blameless Continuous Integration

Author: Vivek Ganesan
Publisher: Partridge Publishing
ISBN: 9781482889628
Release Date: 2017-04-25
Genre: Technology & Engineering

Does your organization frown upon 'build breakers'? Does your team spend a lot of time fixing integration issues? Do you see a lot of who broke the build now? emails? Do your team members hesitate to commit their code for the fear of causing a build failure? If you wish to know what you can do to make the situation better, this book is for you.

Continuous Integration Delivery and Deployment

Author: Sander Rossel
Publisher: Packt Publishing Ltd
ISBN: 9781787284180
Release Date: 2017-10-30
Genre: Computers

Getting started with the processes and the tools to continuously deliver high-quality software About This Book Incorporate popular development practices to prevent messy code Automate your build, integration, release, and deployment processes with Jenkins, Git, and Gulp?and learn how continuous integration (CI) can save you time and money Gain an end-to-end overview of Continuous Integration using different languages (JavaScript and C#) and tools (Gulp and Jenkins) Who This Book Is For This book is for developers who want to understand and implement Continuous Integration and Delivery in their daily work. A basic knowledge of at least JavaScript and HTML/CSS is required. Knowing C# and SQL will come in handy. Most programmers who have programmed in a (compiled) C-like language will be able to follow along. What You Will Learn Get to know all the aspects of Continuous Integration, Deployment, and Delivery Find out how Git can be used in a CI environment Set up browser tests using Karma and Selenium and unit tests using Jasmine Use Node.js, npm, and Gulp to automate tasks such as linting, testing, and minification Explore different Jenkins jobs to integrate with Node.js and C# projects Perform Continuous Delivery and Deployment using Jenkins Test and deliver a web API In Detail The challenge faced by many teams while implementing Continuous Deployment is that it requires the use of many tools and processes that all work together. Learning and implementing all these tools (correctly) takes a lot of time and effort, leading people to wonder whether it's really worth it. This book sets up a project to show you the different steps, processes, and tools in Continuous Deployment and the actual problems they solve. We start by introducing Continuous Integration (CI), deployment, and delivery as well as providing an overview of the tools used in CI. You'll then create a web app and see how Git can be used in a CI environment. Moving on, you'll explore unit testing using Jasmine and browser testing using Karma and Selenium for your app. You'll also find out how to automate tasks using Gulp and Jenkins. Next, you'll get acquainted with database integration for different platforms, such as MongoDB and PostgreSQL. Finally, you'll set up different Jenkins jobs to integrate with Node.js and C# projects, and Jenkins pipelines to make branching easier. By the end of the book, you'll have implemented Continuous Delivery and deployment from scratch. Style and approach This practical book takes a step-by-step approach to explaining all the concepts of Continuous Integration and delivery, and how it can help you deliver a high-quality product.

Software Configuration Management Patterns

Author: Stephen P. Berczuk
Publisher: Addison-Wesley Professional
ISBN: 0201741172
Release Date: 2003
Genre: Computers

Effective software configuration management (SCM) strategies promote a healthy, team-oriented culture that produces better software. Software Configuration Management Patterns alleviates software engineers' most common concerns about software configuration management--perceived rigidity and an overemphasis on process. Through the use of patterns, the authors show that a properly managed workflow can avert delays, morale problems, and cost overruns. The patterns approach illustrates how SCM can be easily and successfully applied in small- to mid-size organizations. By learning how these patterns relate to each other, readers can avoid common mistakes that too often result in frustrated developers and reduced productivity. Key coverage includes instruction on how to: Develop the next version of a product while fixing problems with the current one. Develop code in parallel with other developers and join up with the current state of codeline. Identify what versions of code went into a particular component. Analyze where a change happened in the history of a component's development. Use current tools more effectively, and decide when to use a manual process. Incrementally introduce good practices into individual workspaces and throughout the organization. Identify crucial aspects of the software process so that team projects can run smoothly. Build and foster a development environment focused on producing optimal teamwork and quality products. Software Configuration Management Patterns also includes a detailed list of SCM tools and thorough explanations of how they can be used to implement the patterns discussed in the book. These proven techniques will assist readers to improve their processes and motivate their workforce to collaborate in the production of higher quality software. 0201741172B09202002

A Practical Guide to Continuous Delivery

Author: Eberhard Wolff
Publisher: Addison-Wesley Professional
ISBN: 9780134691541
Release Date: 2017-02-24
Genre: Computers

Using Continuous Delivery, you can bring software into production more rapidly, with greater reliability. A Practical Guide to Continuous Delivery is a 100% practical guide to building Continuous Delivery pipelines that automate rollouts, improve reproducibility, and dramatically reduce risk. Eberhard Wolff introduces a proven Continuous Delivery technology stack, including Docker, Chef, Vagrant, Jenkins, Graphite, the ELK stack, JBehave, and Gatling. He guides you through applying these technologies throughout build, continuous integration, load testing, acceptance testing, and monitoring. Wolff’s start-to-finish example projects offer the basis for your own experimentation, pilot programs, and full-fledged deployments. A Practical Guide to Continuous Delivery is for everyone who wants to introduce Continuous Delivery, with or without DevOps. For managers, it introduces core processes, requirements, benefits, and technical consequences. Developers, administrators, and architects will gain essential skills for implementing and managing pipelines, and for integrating Continuous Delivery smoothly into software architectures and IT organizations. Understand the problems that Continuous Delivery solves, and how it solves them Establish an infrastructure for maximum software automation Leverage virtualization and Platform as a Service (PAAS) cloud solutions Implement build automation and continuous integration with Gradle, Maven, and Jenkins Perform static code reviews with SonarQube and repositories to store build artifacts Establish automated GUI and textual acceptance testing with behavior-driven design Ensure appropriate performance via capacity testing Check new features and problems with exploratory testing Minimize risk throughout automated production software rollouts Gather and analyze metrics and logs with Elasticsearch, Logstash, Kibana (ELK), and Graphite Manage the introduction of Continuous Delivery into your enterprise Architect software to facilitate Continuous Delivery of new capabilities

Continuous Integration in NET

Author: Marcin Kawalerowicz
Publisher: Manning Publications
ISBN: 1935182552
Release Date: 2011
Genre: Computers

Provides information on the best practices of continuous integration using Microsoft .NET, covering such topics as testing and building automation, analyzing the code, and generating documentation.

Beyond Software Architecture

Author: Luke Hohmann
Publisher: Addison-Wesley Professional
ISBN: 0132465949
Release Date: 2003-01-30
Genre: Computers

Successfully managing the relationship between business and technology is a daunting task faced by all companies in the twenty-first century. Beyond Software Architecture is a practical guide to properly managing this mission-critical relationship. In our modern economy, every software decision can have a significant impact on business; conversely, most business decisions will influence a software application's viability. This book contains keen insights and useful lessons about creating winning software solutions in the context of a real-world business. Software should be designed to deliver value to an organization, but all too often it brings turmoil instead. Powerful applications are available in the marketplace, but purchasing or licensing these technologies does not guarantee success. Winning solutions must be properly integrated into an organization's infrastructure. Software expert Luke Hohmann teaches you the business ramifications of software-architecture decisions, and further instructs you on how to understand and embrace the business issues that must be resolved to achieve software success. Using this book as a roadmap, business managers and development teams can safely navigate the minefield of important decisions that they face on a regular basis. The resulting synergy between business and technology will allow you to create winning technology solutions, and ensure your organization's success--now and in the future.

SonarQube in Action

Author: G. Ann Campbell
Publisher: Manning Publications
ISBN: 1617290955
Release Date: 2013
Genre: Computers

Summary SonarQube in Action shows developers how to use the SonarQube platform to help them continuously improve their source code. The book presents SonarQube's core Seven Axes of Quality: design/architecture, duplications, comments, unit tests, complexity, potential bugs, and coding rules. You'll find simple, easy-to-follow discussion and examples as you learn to integrate SonarQube into your development process. About the Technology SonarQube is a powerful open source tool for continuous inspection, a process that makes code quality analysis and reporting an integral part of the development lifecycle. Its unique dashboards, rule-based defect analysis, and tight build integration result in improved code quality without disruption to developer workflow. It supports many languages, including Java, C, C++, C#, PHP, and JavaScript. About the Book SonarQube in Action teaches you how to effectively use SonarQube following the continuous inspection model. This practical book systematically explores SonarQube's core Seven Axes of Quality (design, duplications, comments, unit tests, complexity, potential bugs, and coding rules). With well-chosen examples, it helps you learn to use SonarQube's review functionality and IDE integration to implement continuous inspection best practices in your own quality management process. The book's Java-based examples translate easily to other development languages. No prior experience with SonarQube or continuous delivery practice is assumed Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Gather meaningful quality metrics Integrate with Ant, Maven, and Jenkins Write your own plugins Master the art of continuous inspection About the Authors Ann Campbellb and Patroklos Papapetrou are experienced developers and team leaders. Both actively contribute to the SonarQube community. Table of Contents PART 1 WHAT THE NUMBERS ARE TELLING YOU An introduction to SonarQube Issues and coding standards Ensuring that your code is doing things right Working with duplicate code Optimizing source code documentation Keeping your source code files elegant Improving your application design PART 2 SETTLING IN WITH SONARQUBE Planning a strategy and expanding your insight Continuous Inspection with SonarQube Letting SonarQube drive code reviews IDE integration PART 3 ADMINISTERING AND EXTENDING Security: users, groups, and roles Rule profile administration Making SonarQube fit your needs Managing your projects Writing your own plugins

Just Enough Software Test Automation

Author: Daniel J. Mosley
Publisher: Prentice Hall Professional
ISBN: 0130084689
Release Date: 2002
Genre: Computers

Techniques that improve software quality and reduce time to market Pragmatic approaches to plan and manage every facet of automated software testing Includes a complete sample automation project plan Practical automated testing techniques that enhance software quality and reduce time to market! "Just Enough Test Automation" is a practical, hands-on guide to software test automation from the perspective of test developers and users. Two leading software testing consultants offer real-world dos and don'ts for designing and implementing test automation infrastructure--along with pragmatic advice on what today's most popular approaches to automated testing can and can't accomplish. Coverage includes: Setting realistic expectations: knowing when and what to automate Planning for automated testing Implementing the Control Synchronized Data Driven Testing (CSDDT) Framework, a proven approach to simplify and accelerate testing Simplify maintenance of test scripts and promote reuse using structured test script writing. Automating unit testing, integration testing, and system/regression testing Managing the automated testing process for optimal efficiency The book also includes a complete sample automation project plan, covering documentation, implementation, the automation environment, roles, responsibilities, and much more.

Jenkins The Definitive Guide

Author: John Ferguson Smart
Publisher: "O'Reilly Media, Inc."
ISBN: 9781449313067
Release Date: 2011-07-12
Genre: Computers

Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches. Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins. Learn how to install, configure, and secure your Jenkins server Organize and monitor general-purpose build jobs Integrate automated tests to verify builds, and set up code quality reporting Establish effective team notification strategies and techniques Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs Manage a farm of Jenkins servers to run distributed builds Implement automated deployment and continuous delivery

Continuous Delivery

Author: Jez Humble
Publisher: Pearson Education
ISBN: 0321670221
Release Date: 2010-07-27
Genre: Computers

Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours— sometimes even minutes–no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes • Automating all facets of building, integrating, testing, and deploying software • Implementing deployment pipelines at team and organizational levels • Improving collaboration between developers, testers, and operations • Developing features incrementally on large and distributed teams • Implementing an effective configuration management strategy • Automating acceptance testing, from analysis to implementation • Testing capacity and other non-functional requirements • Implementing continuous deployment and zero-downtime releases • Managing infrastructure, data, components and dependencies • Navigating risk management, compliance, and auditing Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever—so you can deliver value to your business rapidly and reliably.

Software Ownership Transfer

Author: Vinod Sankaranarayanan
Publisher: Addison-Wesley Professional
ISBN: 9780134181066
Release Date: 2016-06-29
Genre: Computers

Organizations invest immense amounts of time, resources, and attention in their software projects. But all too often, when it's time to transfer the finished project to new "owners," they settle for the most superficial classroom training, documentation, and code walkthroughs. These conventional approaches to knowledge transfer often fail, dramatically reducing the value of new systems in production. You can do much better - and Software Ownership Transfer will show you how. This is the first practical, hands-on guide to knowledge transfer in today's agile environments. Using a realistic, large-scale case study, ThoughtWorks expert Vinod Sankaranarayanan shows how to elevate knowledge transfer from "necessary evil" to an activity full of agility and innovation, and bring together multiple organizations and cultures to make ownership transfer work. Sankaranarayanan explains why mere documentation of error reports and processes isn't enough, and shows how to successfully craft a knowledge transfer program that's more substantive and effective. Along the way, he offers guidance on overcoming the commercial compromises and personal tensions often associated with transferring systems to new ownership; and on transforming mere "knowledge transfer" into something much better: "taking ownership."

Continuous Integration with Bamboo

Author: Paul Watson
Publisher: Createspace Independent Publishing Platform
ISBN: 1535018380
Release Date: 2016-06-30
Genre:

This book is for software professionals who want to learn Bamboo. Book contains examples on how to integrate various technology stack with Bamboo. This book covers all basic as well as advanced concepts in Bamboo. This book will be useful for software developers, testers as well as Dev Ops to understand the Bamboo Ecosystem. Book covers popular build management tools like Maven and Gradle. It also includes how to create a deployment project for a web based application using Tomcat.