Continuous Integration

Author: Paul M. Duvall
Publisher: Pearson Education
ISBN: 0321630149
Format: PDF, ePub
Download Now
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: 9780321336385
Format: PDF, Kindle
Download Now
Shows how the practice of Continuous Integration (CI) benefits software development by improving quality and reducing risk.

Fundamentals of Software Integration

Author: Kay Hammer
Publisher: Jones & Bartlett Publishers
ISBN: 1449668747
Format: PDF, Mobi
Download Now
Integration is one of the most critical technical challenges in software today, as well as a difficult topic to generalize because of the many things affecting it — the technologies involved, the timeframe, the number and types of user communities requiring access, regulatory requirements, and so on. For this reason, Hammer and Timmerman have developed this comprehensive and unique overview of the evolution of software technology, with a particular emphasis on long-standing problems that remain unsolved. Fundamentals of Software Integration builds on this through background, presenting an abstract model of the software application and its environment, along with a methodology for how to use this model to develop an integration strategy that meets both the short– and long–term needs of an organization. This text utilizes an accessible writing style and strategic exercises to help students recognize similarities in the integration challenges faced across technologies.

Continuous Integration Delivery and Deployment

Author: Sander Rossel
Publisher: Packt Publishing Ltd
ISBN: 1787284182
Format: PDF, Docs
Download Now
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: 9780201741179
Format: PDF, ePub
Download Now
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

Beyond Software Architecture

Author: Luke Hohmann
Publisher: Addison-Wesley Professional
ISBN: 9780132465946
Format: PDF, Mobi
Download Now
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.

DevOps DBAs and DBaaS

Author: Michael S. Cuppett
Publisher: Apress
ISBN: 1484222083
Format: PDF, Docs
Download Now
Learn how DBAs in a DevOps environment manage data platforms and change requests to support and optimize continuous integration, delivery, testing, and deployment in the application development life cycle. On the Dev side, DBAs evaluate change requests to ensure compliance with organizational best practices and guard against degradation of database performance and the validity of dependent objects. On the Ops side, DBAs perform release and troubleshooting activities in support of the application, manage the data platform’s access and security, and monitor and maintain performance of the databases that they have designed and provisioned. DevOps, DBAs, and DBaaS investigates the complex intersection between DBA functions and DevOps processes. DevOps teams traditionally viewed DBAs as process outliers who disrupt and retard SDLC timelines. At each touch point, veteran DBA Mike Cuppett shows how DBAs can most effectively contribute to decreasing release cycle times and improving product resiliency by applying automation, orchestration, and DBaaS solutions to database administration in ways that dovetail with DevOps requirements and metrics. At a high level, Cuppett demonstrates the importance of leveling silo walls in the IT supply chain and of measuring application performance holistically by reference to satisfaction of customer requirements and end-user experience. At a technical level, he drills into topics and case studies on diagnosing and resolving problems commonly encountered by DBAs and DevOps teams when meshing database management with application delivery. What You Will Learn: Understand techniques and best practices at all points of collaboration between DBAs and DevOps teams in product development Use tools for measuring DBA inputs to DevOps processes by using the holistic criteria of end-user experience and business requirement Integrate open source database technologies with DevOps Know when to decouple application and database layers and move to DBaaS models Overcome language and mindset barriers between DBAs and DevOps teams Who This Book Is For: DBAs who are leaning toward or already involved with DevOps and DevOps engineers, team leaders, developers and product managers who are already working with DBAs or planning to integrate DBAs in DevOps teams. The secondary readership is executives and managers in companies that practice DevOps.

A Practical Guide to Continuous Delivery

Author: Eberhard Wolff
Publisher: Addison-Wesley Professional
ISBN: 0134691547
Format: PDF, ePub
Download Now
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

SonarQube in Action

Author: G. Ann Campbell
Publisher: Manning Publications
ISBN: 9781617290954
Format: PDF, Kindle
Download Now
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