Jenkins: The Definitive Guide: Continuous Integration for the Masses

Jenkins: The Definitive Guide: Continuous Integration for the Masses

by John Ferguson Smart

NOOK Book(eBook)

$19.99 $34.99 Save 43% Current price is $19.99, Original price is $34.99. You Save 43%.
View All Available Formats & Editions

Available on Compatible NOOK Devices and the free NOOK Apps.
WANT A NOOK?  Explore Now

Overview

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

Product Details

ISBN-13: 9781449313067
Publisher: O'Reilly Media, Incorporated
Publication date: 07/12/2011
Sold by: Barnes & Noble
Format: NOOK Book
Pages: 404
File size: 21 MB
Note: This product may take a few minutes to download.

About the Author

John Ferguson Smart, director of Wakaleo Consulting, helps organizations optimize their Java development practices and infrastructure. He provides training and mentoring in agile development and testing practices such as Continuous Integration, Test Driven Development, Build Automation, and Continuous Deployment.

Table of Contents

Foreword; Preface; Audience; Book Layout; Jenkins or Hudson?; Font Conventions; Command-Line Conventions; Contributors; The Review Team; Book Sponsors; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Introducing Jenkins; 1.1 Introduction; 1.2 Continuous Integration Fundamentals; 1.3 Introducing Jenkins (née Hudson); 1.4 From Hudson to Jenkins—A Short History; 1.5 Should I Use Jenkins or Hudson?; 1.6 Introducing Continuous Integration into Your Organization; 1.7 Where to Now?; Chapter 2: Your First Steps with Jenkins; 2.1 Introduction; 2.2 Preparing Your Environment; 2.3 Starting Up Jenkins; 2.4 Configuring the Tools; 2.5 Your First Jenkins Build Job; 2.6 Your First Build Job in Action; 2.7 More Reporting—Displaying Javadocs; 2.8 Adding Code Coverage and Other Metrics; 2.9 Conclusion; Chapter 3: Installing Jenkins; 3.1 Introduction; 3.2 Downloading and Installing Jenkins; 3.3 Preparing a Build Server for Jenkins; 3.4 The Jenkins Home Directory; 3.5 Installing Jenkins on Debian or Ubuntu; 3.6 Installing Jenkins on Redhat, Fedora, or CentOS; 3.7 Installing Jenkins on SUSE or OpenSUSE; 3.8 Running Jenkins as a Stand-Alone Application; 3.9 Running Jenkins Behind an Apache Server; 3.10 Running Jenkins on an Application Server; 3.11 Memory Considerations; 3.12 Installing Jenkins as a Windows Service; 3.13 What’s in the Jenkins Home Directory; 3.14 Backing Up Your Jenkins Data; 3.15 Upgrading Your Jenkins Installation; 3.16 Conclusion; Chapter 4: Configuring Your Jenkins Server; 4.1 Introduction; 4.2 The Configuration Dashboard—The Manage Jenkins Screen; 4.3 Configuring the System Environment; 4.4 Configuring Global Properties; 4.5 Configuring Your JDKs; 4.6 Configuring Your Build Tools; 4.7 Configuring Your Version Control Tools; 4.8 Configuring the Mail Server; 4.9 Configuring a Proxy; 4.10 Conclusion; Chapter 5: Setting Up Your Build Jobs; 5.1 Introduction; 5.2 Jenkins Build Jobs; 5.3 Creating a Freestyle Build Job; 5.4 Configuring Source Code Management; 5.5 Build Triggers; 5.6 Build Steps; 5.7 Post-Build Actions; 5.8 Running Your New Build Job; 5.9 Working with Maven Build Jobs; 5.10 Using Jenkins with Other Languages; 5.11 Conclusion; Chapter 6: Automated Testing; 6.1 Introduction; 6.2 Automating Your Unit and Integration Tests; 6.3 Configuring Test Reports in Jenkins; 6.4 Displaying Test Results; 6.5 Ignoring Tests; 6.6 Code Coverage; 6.7 Automated Acceptance Tests; 6.8 Automated Performance Tests with JMeter; 6.9 Help! My Tests Are Too Slow!; 6.10 Conclusion; Chapter 7: Securing Jenkins; 7.1 Introduction; 7.2 Activating Security in Jenkins; 7.3 Simple Security in Jenkins; 7.4 Security Realms—Identifying Jenkins Users; 7.5 Authorization—Who Can Do What; 7.6 Auditing—Keeping Track of User Actions; 7.7 Conclusion; Chapter 8: Notification; 8.1 Introduction; 8.2 Email Notification; 8.3 More Advanced Email Notification; 8.4 Claiming Builds; 8.5 RSS Feeds; 8.6 Build Radiators; 8.7 Instant Messaging; 8.8 IRC Notification; 8.9 Desktop Notifiers; 8.10 Notification via Notifo; 8.11 Mobile Notification; 8.12 SMS Notification; 8.13 Making Noise; 8.14 Extreme Feedback Devices; 8.15 Conclusion; Chapter 9: Code Quality; 9.1 Introduction; 9.2 Code Quality in Your Build Process; 9.3 Popular Java and Groovy Code Quality Analysis Tools; 9.4 Reporting on Code Quality Issues with the Violations Plugin; 9.5 Using the Checkstyle, PMD, and FindBugs Reports; 9.6 Reporting on Code Complexity; 9.7 Reporting on Open Tasks; 9.8 Integrating with Sonar; 9.9 Conclusion; Chapter 10: Advanced Builds; 10.1 Introduction; 10.2 Parameterized Build Jobs; 10.3 Parameterized Triggers; 10.4 Multiconfiguration Build Jobs; 10.5 Generating Your Maven Build Jobs Automatically; 10.6 Coordinating Your Builds; 10.7 Build Pipelines and Promotions; 10.8 Conclusion; Chapter 11: Distributed Builds; 11.1 Introduction; 11.2 The Jenkins Distributed Build Architecture; 11.3 Master/Slave Strategies in Jenkins; 11.4 Associating a Build Job with a Slave or Group of Slaves; 11.5 Node Monitoring; 11.6 Cloud Computing; 11.7 Using the CloudBees DEV@cloud Service; 11.8 Conclusion; Chapter 12: Automated Deployment and Continuous Delivery; 12.1 Introduction; 12.2 Implementing Automated and Continuous Deployment; 12.3 Deploying to an Application Server; 12.4 Conclusion; Chapter 13: Maintaining Jenkins; 13.1 Introduction; 13.2 Monitoring Disk Space; 13.3 Monitoring the Server Load; 13.4 Backing Up Your Configuration; 13.5 Archiving Build Jobs; 13.6 Migrating Build Jobs; 13.7 Conclusion; Automating Your Unit and Integration Tests; Automating Your Tests with Maven; Automating Your Tests with Ant; Colophon;

John Ferguson Smart, director of Wakaleo Consulting, helps organizations optimize their Java development practices and infrastructure. He provides training and mentoring in agile development and testing practices such as Continuous Integration, Test Driven Development, Build Automation, and Continuous Deployment.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews