Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Hudson 3 Essentials
Hudson 3 Essentials
Hudson 3 Essentials
Ebook245 pages1 hour

Hudson 3 Essentials

Rating: 0 out of 5 stars

()

Read preview

About this ebook

A practical guide, packed with illustrations, that will help you become proficient with Hudson and able to utilize it how you want.If you are a Java developer or administrator who would to like automate some of the mundane work required to build and test software and improve software quality, this is the book for you. If you are a development manager or tester, you can also benefit from learning how Hudson works by gaining some insight into test results and historical trends.
LanguageEnglish
Release dateDec 11, 2013
ISBN9781783280568
Hudson 3 Essentials

Related to Hudson 3 Essentials

Related ebooks

Software Development & Engineering For You

View More

Related articles

Reviews for Hudson 3 Essentials

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Hudson 3 Essentials - Lloyd H. Meinholz

    Table of Contents

    Hudson 3 Essentials

    Credits

    About the Author

    About the Reviewers

    www.PacktPub.com

    Support files, eBooks, discount offers and more

    Why Subscribe?

    Free Access for Packt account holders

    Preface

    What this book covers

    What you need for this book

    Who this book is for

    Conventions

    Reader feedback

    Customer support

    Downloading the example code

    Errata

    Piracy

    Questions

    1. Why Hudson?

    Benefits of Hudson

    Hudson can improve project health

    Hudson can automate the build and deployment process

    IT roles in relation to Hudson

    Hudson plugins and integrations

    The Hudson back story

    Summary

    2. Installing and Running Hudson

    Environment variables

    Hudson prerequisites

    Downloading Hudson

    Running Hudson WAR without an application server

    Unix/Linux installation

    Tomcat installation and setup

    Deploying Hudson to Tomcat

    JBoss AS 7 installation and setup

    Deploying Hudson to JBoss AS 7

    GlassFish 4 installation and setup

    Modifying GlassFish 4 settings

    Deploying Hudson to GlassFish 4

    Hudson CI Server initial setup

    Hudson Home directory

    Summary

    3. Configuring and Securing Hudson

    Hudson home page

    Hudson help

    Configuring Hudson

    Configuring the system

    Configuring JDK

    Configuring Ant

    Configuring Maven

    Configuring Hudson for sending e-mails

    Backing up Hudson

    Configuring security

    Hudson authentication

    Hudson authorization

    Defining a simple security policy

    Summary

    4. Installing and Developing Hudson Plugins

    What is a plugin?

    Installing plugins

    Installing featured plugins

    Installing recommended plugins

    Installing other plugins

    Plugin configuration

    The ThinBackup plugin

    Configuring our backup strategy

    Creating a Hudson plugin

    Downloading and installing Apache Maven

    Adding the Maven HPI plugin

    Using JDK 1.6

    Creating the sample-plugin project

    Structure of the sample-plugin project

    Creating the sample-plugin HPI file

    Running the sample-plugin project

    Creating a sample job

    What happened?

    How did that happen?

    What else can I do?

    Deploying sample-plugin to our Hudson installation

    The sample-plugin project source code on Github

    Summary

    5. Building and Delivering with Hudson

    Using Maven to build a sample project

    Creating a free-style software job for the Maven job

    Configuring Source Code Management for the Maven job

    Configuring the build step for the Maven job

    Saving the Maven job

    Manually building the Maven job

    The Hudson home directory structure

    Using Gradle to build a sample project

    Creating a free-style software job for the Gradle job

    Configuring Source Code Management for the Gradle job

    Saving the Gradle job

    Manually building the Gradle job

    Using Grails to build a sample project

    Creating a free-style software job for the Grails job

    Configuring Source Code Management for the Grails job

    Installing the Grails Hudson 3 plugin

    Downloading and configuring Grails

    Configuring the build step for the Grails job

    Saving the Grails job

    Manually building the Grails job

    Deploying a WAR file to an application server

    Installing the Deploy to container Plugin and Copy Artifact Plugin

    Reconfiguring Tomcat

    Configuring the Deploy build step

    Executing and validating the job

    Performing a custom action with a Groovy script

    Configuring Groovy

    Adding a Groovy build step to the job

    The testScript.groovy Groovy script

    Summary

    6. Testing and Reporting with Hudson

    The hudsonDemoProject

    Creating a free-style software job

    Configuring Source Code Management

    The project layout

    Generating and publishing Javadoc

    Configuring a post-build action for the hudsonDemoProject job

    Running and publishing JUnit test reports

    Updating the Gradle build step for the hudsonDemoProject job

    Configuring a post-build action

    Static source code analysis

    PMD

    FindBugs

    Checkstyle

    More about the Gradle build file

    Updating the Gradle build step

    Configuring post-build actions for the hudsonDemoProject job

    Building and analyzing the results for the hudsonDemoProject

    Trend analysis of hudsonDemoProject

    Summary

    7. Upgrading Hudson and the Team Concept feature

    Checking Hudson and plugin upgrade availability

    Backing up Hudson

    Upgrading Hudson automatically

    Installing a new standalone Hudson WAR file

    Installing a new Hudson WAR file on Tomcat

    Installing a new Hudson WAR file on JBoss AS 7

    Installing a new Hudson WAR file on GlassFish 4

    Team Concept

    Creating new users

    Configuring team-based authorization

    Creating teams

    Adding members to teams

    Creating new jobs

    Assigning jobs to teams

    Verifying job visibility

    Summary

    A. Online Resources

    Software downloads

    Hudson resources

    Application server resources

    Hudson 3 Essentials book projects

    Index

    Hudson 3 Essentials


    Hudson 3 Essentials

    Copyright © 2013 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    First published: December 2013

    Production Reference: 1041213

    Published by Packt Publishing Ltd.

    Livery Place

    35 Livery Street

    Birmingham B3 2PB, UK.

    ISBN 978-1-78328-055-1

    www.packtpub.com

    Cover Image by Abhishek Dhir (<abhishekdhirimages@gmail.com>)

    Credits

    Author

    Lloyd H. Meinholz

    Reviewers

    Jérôme Leleu

    Simone Renzo

    Dan Watling

    Acquisition Editors

    Grant Mizen

    Rebecca Youe

    Lead Technical Editor

    Govindan K

    Technical Editors

    Menza Mathew

    Pratish Soman

    Copy Editors

    Roshni Banerjee

    Sarang Chari

    Tanvi Gaitonde

    Mradula Hegde

    Deepa Nambiar

    Project Coordinator

    Michelle Quadros

    Proofreader

    Linda Morris

    Indexer

    Rekha Nair

    Production Coordinator

    Komal Ramchandani

    Cover Work

    Komal Ramchandani

    About the Author

    Lloyd H. Meinholz is currently a senior developer and an architect at a mid-sized company, building enterprise applications. He has been building web applications using Linux, Java, and many other technologies for more than 13 years. Lloyd has mostly focused on server-side development, and often deals with topics around build and deployment. Lloyd has been programming for over 25 years.

    It's hard to understand how much effort is involved in writing a book until you've done it. Completion of this book would have been impossible without the support of my family. I would like to thank Katarina, my wife, partner, and friend, for all her encouragement. I also want to thank my children, Thomas and Maria, for inspiring me.

    Additionally, I would also like to thank Packt Publishing for giving me the opportunity to write this book, and for their support and guidance in the difficult task of writing this book.

    About the Reviewers

    Jérôme Leleu is a software architect living in Paris, France. A consultant for 7 years, he has worked in many different companies, fields, and with many different people. He has participated in many IT projects as a Developer, Technical Lead, and Projects Manager, mostly in J2EE technology. Now working in a French telecom company,

    Enjoying the preview?
    Page 1 of 1