Book Image

Hudson 3 Essentials

By : Lloyd H. Meinholz
Book Image

Hudson 3 Essentials

By: Lloyd H. Meinholz

Overview of this book

Continuous integration (CI) with automated test execution has been widely adopted in recent years. The concept behind CI has changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. Hudson is a CI solution that provides executives, business managers, software developers, and architects with a better sense of the development progress and code quality of projects throughout their development life cycle.A fast-paced and hands-on introduction to the key features of Hudson 3. You will be introduced to tools that can be used to improve the quality of software development projects. You will also learn how to install and secure Hudson in a variety of IT environments. Staring with a brief introduction to Hudson and how it helps many IT organizations deliver high quality software, Hudson 3 Essentials will show you how Hudson can be installed and deployed in various environments. You will also be guided through the different methods of securing your Hudson installation. Moving on from the basics, you will be introduced to several important Hudson plugins and learn how to extend its functionality by developing your own plugins. You will be shown how Hudson can be used to build different types of applications and how it can deploy a web application to an application server. Finally, you will discover how Hudson can be used to perform automated testing on software applications, and how to generate reports that describe the results.
Table of Contents (15 chapters)
Hudson 3 Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • Add New Team button / Creating teams
  • Advanced button / Configuring the build step for the Maven job
  • Ant
    • configuring / Configuring Ant
  • AntBuilder class / The testScript.groovy Groovy script
  • Ant version 1.8.2 / Configuring Ant
  • Apache Maven
    • downloading / Downloading and installing Apache Maven
    • installing / Downloading and installing Apache Maven
  • Apache Tomcat 7
    • URL / Application server resources
  • application server
    • WAR file, deploying to / Deploying a WAR file to an application server
  • Application Server
    • resources / Application server resources

B

  • Backup Now button / Backing up Hudson
  • backup set / The ThinBackup plugin
  • build.gradle file
    • about / More about the Gradle build file
    • Gradle build step, updating / Updating the Gradle build step
    • Post-build Actions, configuring for hudsonDemoProject job / Configuring post-build actions for the hudsonDemoProject job
    • hudsonDemoProject results, building / Building and analyzing the results for the hudsonDemoProject
    • hudsonDemoProject results, analyzing / Building and analyzing the results for the hudsonDemoProject
  • Build History box / Manually building the Maven job, Executing and validating the job
  • Build Now button / Manually building the Maven job, Executing and validating the job, Configuring a post-build action
  • build step
    • configuring, for Maven job / Configuring the build step for the Maven job
    • configuring, for Grails job / Configuring the build step for the Grails job

C

  • 'Copy Artifact Plugin'
    • installing / Installing the Deploy to container Plugin and Copy Artifact Plugin
  • Checkstyle plugin / Checkstyle
  • cleanTest task / Updating the Gradle build step for the hudsonDemoProject job
  • Configure button / Adding a Groovy build step to the job
  • Configure link / Trend analysis of hudsonDemoProject
  • Configure Security link / Configuring security
  • Configure Security page / Configuring team-based authorization
  • Confirm button / Installing a new Hudson WAR file on JBoss AS 7
  • Console Output screen / Creating a sample job
  • crontab / Configuring our backup strategy
  • custom action
    • performing, Groovy script used / Performing a custom action with a Groovy script

D

  • 'Deploy to container Plugin'
    • installing / Installing the Deploy to container Plugin and Copy Artifact Plugin
  • Deploy build step
    • configuring / Configuring the Deploy build step
  • differential backups / The ThinBackup plugin

E

  • e-mail
    • sending, by configuring Hudson / Configuring Hudson for sending e-mails
  • Enlarge link / Trend analysis of hudsonDemoProject
  • environment variable / Environment variables
  • extreme programming (XP) / Deploying a WAR file to an application server

F

  • featured plugins
    • installing / Installing featured plugins
  • featured plugins installations
    • Hudson Maven3 Plugin / Installing featured plugins
    • Hudson GIT plugin / Installing featured plugins
    • Groovy Support Plugin / Installing featured plugins
    • Static Analysis Collector plugin / Installing recommended plugins
    • Checkstyle plugin / Installing recommended plugins
    • DRY plugin / Installing recommended plugins
    • FindBugs plugin / Installing recommended plugins
  • FindBugs plugin / FindBugs
  • free-style software job
    • creating, for Maven job / Creating a free-style software job for the Maven job
    • creating, for Gradle job / Creating a free-style software job for the Gradle job
    • creating, for Grails job / Creating a free-style software job for the Grails job
    • creating / Creating a free-style software job
  • full backups / The ThinBackup plugin

G

  • Github plugin / Installing other plugins
  • GlassFish
    • URL / Application server resources
  • GlassFish 4
    • about / GlassFish 4 installation and setup
    • installation / GlassFish 4 installation and setup
    • settings, modifying / Modifying GlassFish 4 settings
    • Hudson, deploying to / Deploying Hudson to GlassFish 4
    • Hudson WAR file, installing on / Installing a new Hudson WAR file on GlassFish 4
  • GlassFish 4 Administration Console / Deploying Hudson to GlassFish 4
  • Goals field / Configuring the build step for the Maven job
  • Gradle
    • used, for sample project building / Using Gradle to build a sample project
  • Gradle job
    • free-style software job, creating for / Creating a free-style software job for the Gradle job
    • Source Code Management, configuring / Configuring Source Code Management for the Gradle job
    • saving / Saving the Gradle job
    • manually building / Manually building the Gradle job
  • Gradle Wrapper / Using Gradle to build a sample project
  • Grails
    • used, for sample project building / Using Grails to build a sample project
    • downloading / Downloading and configuring Grails
    • configuring / Downloading and configuring Grails
    • URL / Downloading and configuring Grails
  • grails-spring-security-core plugin / Using Grails to build a sample project
  • Grails Hudson 3 plugin
    • installing / Installing the Grails Hudson 3 plugin
  • Grails job
    • free-style software job, creating for / Creating a free-style software job for the Grails job
    • Source Code Management, configuring / Configuring Source Code Management for the Grails job
    • build step, configuring / Configuring the build step for the Grails job
    • saving / Saving the Grails job
    • manually building / Manually building the Grails job
  • Groovy
    • configuring / Configuring Groovy
  • Groovy build step
    • adding, to job / Adding a Groovy build step to the job
  • Groovy command radio button / Adding a Groovy build step to the job
  • Groovy script
    • used, for custom action performing / Performing a custom action with a Groovy script
    • executing / Configuring Groovy
    • Groovy build step, adding to job / Adding a Groovy build step to the job
    • testScript.groovy Groovy script / The testScript.groovy Groovy script
  • Groovy script file radio button / Adding a Groovy build step to the job
  • Groovy Support Plugin / Installing featured plugins

H

  • .hudson directory / Hudson Home directory
  • HelloWorldBuilder.getName()method / How did that happen?
  • HelloWorldBuilder class / How did that happen?
  • home page, Hudson / Hudson home page
  • HPI
    • about / Installing plugins
  • Hudson
    • benefits / Benefits of Hudson, Hudson can improve project health
    • adopting, IT role advantages / IT roles in relation to Hudson
    • integrations / Hudson plugins and integrations
    • history / The Hudson back story
    • prerequisites / Hudson prerequisites
    • wiki / Hudson prerequisites
    • downloading / Downloading Hudson
    • deploying, to Tomcat / Deploying Hudson to Tomcat
    • deploying, to JBoss AS 7 / Deploying Hudson to JBoss AS 7
    • deploying, to GlassFish 4 / Deploying Hudson to GlassFish 4
    • Home directory / Hudson Home directory
    • home page / Hudson home page
    • help / Hudson help
    • configuring / Configuring Hudson
    • System Configurations page / Configuring the system
    • configuring, for e-mail sending / Configuring Hudson for sending e-mails
    • backing up / Backing up Hudson
    • home directory structure / The Hudson home directory structure
    • new release, determining / Checking Hudson and plugin upgrade availability
    • upgrading, options / Checking Hudson and plugin upgrade availability
    • backing up, ThinBackup plugin used / Backing up Hudson
    • automatically upgrading / Upgrading Hudson automatically
    • standalone WAR file, installing / Installing a new standalone Hudson WAR file
    • WAR file, installing on Tomcat / Installing a new Hudson WAR file on Tomcat
    • WAR file, installing on JBoss AS 7 / Installing a new Hudson WAR file on JBoss AS 7
    • WAR file, installing on GlassFish 4 / Installing a new Hudson WAR file on GlassFish 4
    • resources / Hudson resources
  • Hudson 3 Essentials book projects / Hudson 3 Essentials book projects
  • Hudson 3.1 feature
    • Team Concept / Team Concept
  • Hudson Authentication
    • Delegate to servlet container method / Hudson authentication
    • LDAP method / Hudson authentication
    • Hudson’s own user database method / Hudson authentication
    • UNIX user/group database method / Hudson authentication
  • Hudson Authorization
    • Logged-in users can do anything method / Hudson authorization
    • Matrix-based security method / Hudson authorization
    • Anyone can do anything method / Hudson authorization
    • Project-based Matrix Authorization Strategy method / Hudson authorization
  • Hudson Bugzilla
    • URL / Hudson resources
  • Hudson CI Server
    • initial setup / Hudson CI Server initial setup
  • hudsonDemoProject
    • about / The hudsonDemoProject
    • free-style software job, creating / Creating a free-style software job
    • Source Code Management, configuring / Configuring Source Code Management
    • project layout / The project layout
    • trend analysis / Trend analysis of hudsonDemoProject
  • hudsonDemoProject home page / Building and analyzing the results for the hudsonDemoProject
  • Hudson distribution
    • URL / Software downloads
  • Hudson GIT plugin / Installing featured plugins
  • Hudson Groovy builder plugin / Installing other plugins
  • Hudson Home directory / Hudson Home directory
  • Hudson home page
    • URL / Hudson resources
  • Hudson IRC Channel
    • URL / Hudson resources
  • Hudson job / Hudson can automate the build and deployment process
  • Hudson Maven3 Plugin / Installing featured plugins
  • Hudson page
    • eclipse project, URL / Hudson resources
  • Hudson plugin
    • creating / Creating a Hudson plugin, Downloading and installing Apache Maven, Creating the sample-plugin project, Running the sample-plugin project, Creating a sample job, How did that happen?, Deploying sample-plugin to our Hudson installation
    • Apache Maven, downloading / Downloading and installing Apache Maven
    • Maven HPI plugin, adding / Adding the Maven HPI plugin
    • JDK 1.6, using / Using JDK 1.6
    • sample-plugin project, creating / Creating the sample-plugin project
    • sample-plugin project structure / Structure of the sample-plugin project
    • sample-plugin HPI file, creating / Creating the sample-plugin HPI file
    • sample-plugin project, running / Running the sample-plugin project
    • sample job, creating / Creating a sample job, How did that happen?
    • sample-plugin, deploying / Deploying sample-plugin to our Hudson installation
  • Hudson Plugin Manager page
    • Updates tab / Installing plugins
    • Available tab / Installing plugins
    • Installed tab / Installing plugins
    • Advanced tab / Installing plugins
    / Installing the Grails Hudson 3 plugin
  • Hudson plugins / Hudson plugins and integrations
  • Hudson security
    • configuring / Configuring security
  • Hudson security configuration
    • Hudson Authentication / Hudson authentication
    • Hudson Authorization / Hudson authorization
  • Hudson Support Forum
    • URL / Hudson resources
  • Hudson WAR
    • running, without application server / Running Hudson WAR without an application server
  • Hudson WAR file
    • installing, on Tomcat / Installing a new Hudson WAR file on Tomcat
    • installing, on JBoss AS 7 / Installing a new Hudson WAR file on JBoss AS 7
    • installing, on GlassFish 4 / Installing a new Hudson WAR file on GlassFish 4

I

  • Initial Setup screen / Running the sample-plugin project
  • Install button / Installing the Grails Hudson 3 plugin

J

  • Javadoc
    • generating / Generating and publishing Javadoc
    • publishing / Generating and publishing Javadoc
    • Post-build Action configuration, for hudsonDemoProject job / Configuring a post-build action for the hudsonDemoProject job
  • JAVA_HOME environment variable
    • setting, in Linux system / Environment variables
    • setting, Windows system / Environment variables
  • JBoss AS 7
    • about / JBoss AS 7 installation and setup
    • application server / JBoss AS 7 installation and setup
    • installation / JBoss AS 7 installation and setup
    • Hudson, deploying to / Deploying Hudson to JBoss AS 7
    • Hudson WAR file, installing on / Installing a new Hudson WAR file on JBoss AS 7
  • JBOSS_HOME environment variable / JBoss AS 7 installation and setup
  • JDK
    • configuring / Configuring JDK
  • JDK 1.6 / Using JDK 1.6
  • job
    • executing / Executing and validating the job
    • validating / Executing and validating the job
    • Groovy build step, adding to / Adding a Groovy build step to the job
  • Job Configurations screen / Creating a sample job
  • jobs
    • creating / Creating new jobs
    • assigning, to teams / Assigning jobs to teams
  • job visibility
    • verifying / Verifying job visibility
  • JUnit test reports
    • Gradle build step, updating for hudsonDemoProject job / Updating the Gradle build step for the hudsonDemoProject job
    • running / Updating the Gradle build step for the hudsonDemoProject job, Configuring a post-build action
    • Post-build Action, configuring / Configuring a post-build action

L

  • LDAP (Lightweight Directory Authentication Protocol) / Hudson authentication
  • Linux OpenJDK distribution
    • URL / Software downloads

M

  • Manage Hudson page / Configuring Hudson, Defining a simple security policy, Checking Hudson and plugin upgrade availability
  • Maven
    • configuring / Configuring Maven
    • used, for sample project building / Using Maven to build a sample project
    • URL / Using Maven to build a sample project
  • Maven 3 field / Configuring the build step for the Maven job
  • Maven HPI plugin
    • adding / Adding the Maven HPI plugin
  • Maven job
    • free-style software job, creating for / Creating a free-style software job for the Maven job
    • Source Code Management, configuring / Configuring Source Code Management for the Maven job
    • build step, configuring / Configuring the build step for the Maven job
    • saving / Saving the Maven job
    • manually building / Manually building the Maven job
  • Maven version 3.0.4 / Configuring Maven
  • Move Jobs button / Assigning jobs to teams

N

  • New Job screen / Creating a sample job
  • new users
    • creating / Creating new users

O

  • Oracle JDK
    • URL / Software downloads

P

  • PAM (Pluggable Authentication Modules) / Hudson authentication
  • plugin
    • about / What is a plugin?
  • plugin configuration
    • about / Plugin configuration
  • plugin installation
    • featured plugins, installing / Installing featured plugins
    • recommended plugins, installing / Installing recommended plugins
  • PMD plugin / PMD
  • PMD Result screen / Building and analyzing the results for the hudsonDemoProject
  • POM (Project Object Model) / Structure of the sample-plugin project
  • Project Sample Job page / Creating a sample job
  • Properties field / Configuring the build step for the Maven job

R

  • recommended plugins installation
    • Static Analysis Collector plugin / Installing recommended plugins
    • Checkstyle plugin / Installing recommended plugins
    • DRY plugin / Installing recommended plugins
    • FindBugs plugin / Installing recommended plugins
    • PMD plugin / Installing recommended plugins
  • Restore button / Backing up Hudson

S

  • sample-plugin project / Creating the sample-plugin project
  • sample-plugin project source code, on Github
    • URL / The sample-plugin project source code on Github
  • sample project
    • building, Maven used / Using Maven to build a sample project
    • building, Gradle used / Using Gradle to build a sample project
    • building, Grails used / Using Grails to build a sample project
  • Search button / Installing the Deploy to container Plugin and Copy Artifact Plugin
  • simple security policy
    • defining / Defining a simple security policy
  • software downloads
    • Oracle JDK, URL / Software downloads
    • Hudson distribution, URL / Software downloads
  • Source Code Management
    • configuring, for Maven job / Configuring Source Code Management for the Maven job
    • configuring, for Gradle job / Configuring Source Code Management for the Gradle job
    • configuring, for Grails job / Configuring Source Code Management for the Grails job
  • Static Analysis Collector plugin
    • PMD plugin / PMD
    • FindBugs plugin / FindBugs
    • Checkstyle plugin / Checkstyle
  • System Configurations page, Hudson
    • JDK, configuring / Configuring JDK
    • Ant, configuring / Configuring Ant
    • Maven, configuring / Configuring Maven

T

  • Team-based Authorization
    • configuring / Configuring team-based authorization
  • Team Concept
    • about / Team Concept
    • new users, creating / Creating new users
    • Team-based Authorization, configuring / Configuring team-based authorization
    • teams, creating / Creating teams
    • members, adding to teams / Adding members to teams
    • new jobs, creating / Creating new jobs
    • jobs, assigning to teams / Assigning jobs to teams
    • job visibility, verifying / Verifying job visibility
  • teams
    • creating / Creating teams
    • members, adding to / Adding members to teams
    • Jobs, assigning to / Assigning jobs to teams
  • Test-driven Development / Hudson can improve project health
  • Test Result Trend graph / Configuring a post-build action
  • testScript.groovy Groovy script
    • creating / The testScript.groovy Groovy script
    • executing / The testScript.groovy Groovy script
  • ThinBackup plugin
    • about / Installing other plugins, The ThinBackup plugin
    • Backup Now / The ThinBackup plugin
    • Restore / The ThinBackup plugin
    • Settings / The ThinBackup plugin
    • full backups / The ThinBackup plugin
    • differential backups / The ThinBackup plugin
    • backup set / The ThinBackup plugin
    • backup strategy / Configuring our backup strategy
    • using, for Hudson backup / Backing up Hudson
  • Tomcat
    • installation / Tomcat installation and setup
    • server downloading / Tomcat installation and setup
    • Hudson, deploying to / Deploying Hudson to Tomcat
    • reconfiguring / Reconfiguring Tomcat
    • Hudson WAR file, installing on / Installing a new Hudson WAR file on Tomcat
  • Tomcat is 7.0.42 / Tomcat installation and setup

U

  • Undeploy button / Installing a new Hudson WAR file on GlassFish 4
  • Unix/Linux installation / Unix/Linux installation

W

  • WAR file
    • deploying, to application server / Deploying a WAR file to an application server
    • deploying, Deploy to container Plugin used / Installing the Deploy to container Plugin and Copy Artifact Plugin
    • deploying, Copy Artifact Plugin used / Installing the Deploy to container Plugin and Copy Artifact Plugin
    • deploying, to Tomcat / Reconfiguring Tomcat
    • deploying / Configuring the Deploy build step
  • WildFly
    • URL / Application server resources