Hudson 3 Essentials
()
About this ebook
Related to Hudson 3 Essentials
Related ebooks
AngularJS Deployment Essentials Rating: 0 out of 5 stars0 ratingsCloud Development and Deployment with CloudBees Rating: 0 out of 5 stars0 ratingsAsynchronous Android Rating: 4 out of 5 stars4/5Python for Google App Engine Rating: 0 out of 5 stars0 ratingsMastering Android Application Development Rating: 5 out of 5 stars5/5Mastering Android Wear Application Development Rating: 0 out of 5 stars0 ratingsMastering PhoneGap Mobile Application Development Rating: 0 out of 5 stars0 ratingsGradle for Android Rating: 0 out of 5 stars0 ratingsInstant PhoneGap Social App Development Rating: 0 out of 5 stars0 ratingsResponsive Media in HTML5 Rating: 0 out of 5 stars0 ratingsAndroid Application Development with Maven Rating: 0 out of 5 stars0 ratingsInstant Adobe Edge Inspect Starter Rating: 0 out of 5 stars0 ratingsAdvanced Express Web Application Development Rating: 0 out of 5 stars0 ratingsHTML5 for Flash Developers Rating: 5 out of 5 stars5/5Learning Redis Rating: 0 out of 5 stars0 ratingsIBM Cognos 10 Framework Manager Rating: 0 out of 5 stars0 ratingsBuilding Progressive Web Applications with Vue.js: Reliable, Fast, and Engaging Apps with Vue.js Rating: 0 out of 5 stars0 ratingsInstant Play Framework Starter Rating: 0 out of 5 stars0 ratingsBackbone.js Patterns and Best Practices Rating: 0 out of 5 stars0 ratingsHands-On Parallel Programming with C# 8 and .NET Core 3: Build solid enterprise software using task parallelism and multithreading Rating: 0 out of 5 stars0 ratingsVisual Studio Condensed: For Visual Studio 2013 Express, Professional, Premium and Ultimate Editions Rating: 0 out of 5 stars0 ratingsLearning Windows Server Containers Rating: 0 out of 5 stars0 ratingsExpress Web Application Development Rating: 3 out of 5 stars3/5Building Single-page Web Apps with Meteor Rating: 5 out of 5 stars5/5WordPress Mobile Applications with PhoneGap Rating: 0 out of 5 stars0 ratingsMastering Spring 5.0 Rating: 5 out of 5 stars5/5Mastering Play Framework for Scala Rating: 0 out of 5 stars0 ratingsLearning Yii Testing Rating: 1 out of 5 stars1/5Drush for Developers - Second Edition Rating: 0 out of 5 stars0 ratings
Software Development & Engineering For You
Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Python For Dummies Rating: 4 out of 5 stars4/5Agile Practice Guide Rating: 4 out of 5 stars4/5Adobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5How Do I Do That in Photoshop?: The Quickest Ways to Do the Things You Want to Do, Right Now! Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5Photoshop For Beginners: Learn Adobe Photoshop cs5 Basics With Tutorials Rating: 0 out of 5 stars0 ratingsBeginning Programming For Dummies Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsLearning Python Rating: 5 out of 5 stars5/5Tiny Python Projects: Learn coding and testing with puzzles and games Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Good Code, Bad Code: Think like a software engineer Rating: 5 out of 5 stars5/5Lua Game Development Cookbook Rating: 0 out of 5 stars0 ratingsData Visualization: a successful design process Rating: 4 out of 5 stars4/5Beginning C++ Game Programming - Second Edition: Learn to program with C++ by building fun games, 2nd Edition Rating: 0 out of 5 stars0 ratingsThinking Beyond Coding Rating: 5 out of 5 stars5/5Agile: What You Need to Know About Agile Project Management, the Kanban Process, Lean Thinking, and Scrum Rating: 5 out of 5 stars5/5The Essential Persona Lifecycle: Your Guide to Building and Using Personas Rating: 4 out of 5 stars4/5SQL For Dummies Rating: 0 out of 5 stars0 ratingsReversing: Secrets of Reverse Engineering Rating: 4 out of 5 stars4/5
Reviews for Hudson 3 Essentials
0 ratings0 reviews
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,