Books & Videos

Table of Contents

  1. Chapter 1 Introducing Jenkins

    1. Introduction

    2. Continuous Integration Fundamentals

    3. Introducing Jenkins (née Hudson)

    4. From Hudson to Jenkins—A Short History

    5. Should I Use Jenkins or Hudson?

    6. Introducing Continuous Integration into Your Organization

    7. Where to Now?

  2. Chapter 2 Your First Steps with Jenkins

    1. Introduction

    2. Preparing Your Environment

    3. Starting Up Jenkins

    4. Configuring the Tools

    5. Your First Jenkins Build Job

    6. Your First Build Job in Action

    7. More Reporting—Displaying Javadocs

    8. Adding Code Coverage and Other Metrics

    9. Conclusion

  3. Chapter 3 Installing Jenkins

    1. Introduction

    2. Downloading and Installing Jenkins

    3. Preparing a Build Server for Jenkins

    4. The Jenkins Home Directory

    5. Installing Jenkins on Debian or Ubuntu

    6. Installing Jenkins on Red Hat, Fedora, or CentOS

    7. Installing Jenkins on SUSE or OpenSUSE

    8. Running Jenkins as a Stand-Alone Application

    9. Running Jenkins Behind an Apache Server

    10. Running Jenkins on an Application Server

    11. Memory Considerations

    12. Installing Jenkins as a Windows Service

    13. What’s in the Jenkins Home Directory

    14. Backing Up Your Jenkins Data

    15. Upgrading Your Jenkins Installation

    16. Conclusion

  4. Chapter 4 Configuring Your Jenkins Server

    1. Introduction

    2. The Configuration Dashboard—The Manage Jenkins Screen

    3. Configuring the System Environment

    4. Configuring Global Properties

    5. Configuring Your JDKs

    6. Configuring Your Build Tools

    7. Configuring Your Version Control Tools

    8. Configuring the Mail Server

    9. Configuring a Proxy

    10. Conclusion

  5. Chapter 5 Setting Up Your Build Jobs

    1. Introduction

    2. Jenkins Build Jobs

    3. Creating a Freestyle Build Job

    4. Configuring Source Code Management

    5. Build Triggers

    6. Build Steps

    7. Post-Build Actions

    8. Running Your New Build Job

    9. Working with Maven Build Jobs

    10. Using Jenkins with Other Languages

    11. Conclusion

  6. Chapter 6 Automated Testing

    1. Introduction

    2. Automating Your Unit and Integration Tests

    3. Configuring Test Reports in Jenkins

    4. Displaying Test Results

    5. Ignoring Tests

    6. Code Coverage

    7. Automated Acceptance Tests

    8. Automated Performance Tests with JMeter

    9. Help! My Tests Are Too Slow!

    10. Conclusion

  7. Chapter 7 Securing Jenkins

    1. Introduction

    2. Activating Security in Jenkins

    3. Simple Security in Jenkins

    4. Security Realms—Identifying Jenkins Users

    5. Authorization—Who Can Do What

    6. Auditing—Keeping Track of User Actions

    7. Conclusion

  8. Chapter 8 Notification

    1. Introduction

    2. Email Notification

    3. More Advanced Email Notification

    4. Claiming Builds

    5. RSS Feeds

    6. Build Radiators

    7. Instant Messaging

    8. IRC Notification

    9. Desktop Notifiers

    10. Notification via Notifo

    11. Mobile Notification

    12. SMS Notification

    13. Making Noise

    14. Extreme Feedback Devices

    15. Conclusion

  9. Chapter 9 Code Quality

    1. Introduction

    2. Code Quality in Your Build Process

    3. Popular Java and Groovy Code Quality Analysis Tools

    4. Reporting on Code Quality Issues with the Violations Plugin

    5. Using the Checkstyle, PMD, and FindBugs Reports

    6. Reporting on Code Complexity

    7. Reporting on Open Tasks

    8. Integrating with Sonar

    9. Conclusion

  10. Chapter 10 Advanced Builds

    1. Introduction

    2. Parameterized Build Jobs

    3. Parameterized Triggers

    4. Multiconfiguration Build Jobs

    5. Generating Your Maven Build Jobs Automatically

    6. Coordinating Your Builds

    7. Build Pipelines and Promotions

    8. Conclusion

  11. Chapter 11 Distributed Builds

    1. Introduction

    2. The Jenkins Distributed Build Architecture

    3. Master/Slave Strategies in Jenkins

    4. Associating a Build Job with a Slave or Group of Slaves

    5. Node Monitoring

    6. Cloud Computing

    7. Using the CloudBees DEV@cloud Service

    8. Conclusion

  12. Chapter 12 Automated Deployment and Continuous Delivery

    1. Introduction

    2. Implementing Automated and Continuous Deployment

    3. Deploying to an Application Server

    4. Conclusion

  13. Chapter 13 Maintaining Jenkins

    1. Introduction

    2. Monitoring Disk Space

    3. Monitoring the Server Load

    4. Backing Up Your Configuration

    5. Archiving Build Jobs

    6. Migrating Build Jobs

    7. Conclusion

  1. Appendix Automating Your Unit and Integration Tests

    1. Automating Your Tests with Maven

    2. Automating Your Tests with Ant

  2. Colophon