| |
| |
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 | |
| |
| |
| |
Introducing Jenkins | |
| |
| |
| |
Introduction | |
| |
| |
| |
Continuous Integration Fundamentals | |
| |
| |
| |
Introducing Jenkins (n�e Hudson) | |
| |
| |
| |
From Hudson to Jenkins-A Short History | |
| |
| |
| |
Should I Use Jenkins or Hudson? | |
| |
| |
| |
Introducing Continuous Integration into Your Organization | |
| |
| |
| |
Where to Now? | |
| |
| |
| |
Your First Steps with Jenkins | |
| |
| |
| |
Introduction | |
| |
| |
| |
Preparing Your Environment | |
| |
| |
| |
Starting Up Jenkins | |
| |
| |
| |
Configuring the Tools | |
| |
| |
| |
Your First Jenkins Build Job | |
| |
| |
| |
Your First Build Job in Action | |
| |
| |
| |
More Reporting-Displaying Javadocs | |
| |
| |
| |
Adding Code Coverage and Other Metrics | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Installing Jenkins | |
| |
| |
| |
Introduction | |
| |
| |
| |
Downloading and Installing Jenkins | |
| |
| |
| |
Preparing a Build Server for Jenkins | |
| |
| |
| |
The Jenkins Home Directory | |
| |
| |
| |
Installing Jenkins on Debian or Ubuntu | |
| |
| |
| |
Installing Jenkins on Redhat, Fedora, or Cent OS | |
| |
| |
| |
Installing Jenkins on SUSE or Open SUSE | |
| |
| |
| |
Running Jenkins as a Stand-Alone Application | |
| |
| |
| |
Running Jenkins Behind an Apache Server | |
| |
| |
| |
Running Jenkins on an Application Server | |
| |
| |
| |
Memory Considerations | |
| |
| |
| |
Installing Jenkins as a Windows Service | |
| |
| |
| |
What's in the Jenkins Home Directory | |
| |
| |
| |
Backing Up Your Jenkins Data | |
| |
| |
| |
Upgrading Your Jenkins Installation | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Configuring Your Jenkins Server | |
| |
| |
| |
Introduction | |
| |
| |
| |
The Configuration Dashboard-The Manage Jenkins Screen | |
| |
| |
| |
Configuring the System Environment | |
| |
| |
| |
Configuring Global Properties | |
| |
| |
| |
Configuring Your JDKs | |
| |
| |
| |
Configuring Your Build Tools | |
| |
| |
| |
Configuring Your Version Control Tools | |
| |
| |
| |
Configuring the Mail Server | |
| |
| |
| |
Configuring a Proxy | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Setting Up Your Build Jobs | |
| |
| |
| |
Introduction | |
| |
| |
| |
Jenkins Build Jobs | |
| |
| |
| |
Creating a Freestyle Build Job | |
| |
| |
| |
Configuring Source Code Management | |
| |
| |
| |
Build Triggers | |
| |
| |
| |
Build Steps | |
| |
| |
| |
Post-Build Actions | |
| |
| |
| |
Running Your New Build Job | |
| |
| |
| |
Working with Maven Build Jobs | |
| |
| |
| |
Using Jenkins with Other Languages | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Automated Testing | |
| |
| |
| |
Introduction | |
| |
| |
| |
Automating Your Unit and Integration Tests | |
| |
| |
| |
Configuring Test Reports in Jenkins | |
| |
| |
| |
Displaying Test Results | |
| |
| |
| |
Ignoring Tests | |
| |
| |
| |
Code Coverage | |
| |
| |
| |
Automated Acceptance Tests | |
| |
| |
| |
Automated Performance Tests with JMeter | |
| |
| |
| |
Help! My Tests Are Too Slow! | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Securing Jenkins | |
| |
| |
| |
Introduction | |
| |
| |
| |
Activating Security in Jenkins | |
| |
| |
| |
Simple Security in Jenkins | |
| |
| |
| |
Security Realms-Identifying Jenkins Users | |
| |
| |
| |
Authorization-Who Can Do What | |
| |
| |
| |
Auditing-Keeping Track of User Actions | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Notification | |
| |
| |
| |
Introduction | |
| |
| |
| |
Email Notification | |
| |
| |
| |
More Advanced Email Notification | |
| |
| |
| |
Claiming Builds | |
| |
| |
| |
RSS Feeds | |
| |
| |
| |
Build Radiators | |
| |
| |
| |
Instant Messaging | |
| |
| |
| |
IRC Notification | |
| |
| |
| |
Desktop Notifiers | |
| |
| |
| |
Notification via Notifo | |
| |
| |
| |
Mobile Notification | |
| |
| |
| |
SMS Notification | |
| |
| |
| |
Making Noise | |
| |
| |
| |
Extreme Feedback Devices | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Code Quality | |
| |
| |
| |
Introduction | |
| |
| |
| |
Code Quality in Your Build Process | |
| |
| |
| |
Popular Java and Groovy Code Quality Analysis Tools | |
| |
| |
| |
Reporting on Code Quality Issues with the Violations Plugin | |
| |
| |
| |
Using the Checkstyle, PMD, and Find Bugs Reports | |
| |
| |
| |
Reporting on Code Complexity | |
| |
| |
| |
Reporting on Open Tasks | |
| |
| |
| |
Integrating with Sonar | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Advanced Builds | |
| |
| |
| |
Introduction | |
| |
| |
| |
Parameterized Build Jobs | |
| |
| |
| |
Parameterized Triggers | |
| |
| |
| |
Multiconfiguration Build Jobs | |
| |
| |
| |
Generating Your Maven Build Jobs Automatically | |
| |
| |
| |
Coordinating Your Builds | |
| |
| |
| |
Build Pipelines and Promotions | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Distributed Builds | |
| |
| |
| |
Introduction | |
| |
| |
| |
The Jenkins Distributed Build Architecture | |
| |
| |
| |
Master/Slave Strategies in Jenkins | |
| |
| |
| |
Associating a Build Job with a Slave or Group of Slaves | |
| |
| |
| |
Node Monitoring | |
| |
| |
| |
Cloud Computing | |
| |
| |
| |
Using the Cloud Bees DEV @cloud Service | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Automated Deployment and Continuous Delivery | |
| |
| |
| |
Introduction | |
| |
| |
| |
Implementing Automated and Continuous Deployment | |
| |
| |
| |
Deploying to an Application Server | |
| |
| |
| |
Conclusion | |
| |
| |
| |
Maintaining Jenkins | |
| |
| |
| |
Introduction | |
| |
| |
| |
Monitoring Disk Space | |
| |
| |
| |
Monitoring the Server Load | |
| |
| |
| |
Backing Up Your Configuration | |
| |
| |
| |
Archiving Build Jobs | |
| |
| |
| |
Migrating Build Jobs | |
| |
| |
| |
Conclusion | |
| |
| |
Automating Your Unit and Integration Tests | |
| |
| |
Automating Your Tests with Maven | |
| |
| |
Automating Your Tests with Ant | |
| |
| |
Colophon | |