Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Hudson-ci/Using Hudson/Meet Hudson"

(Introductory Articles)
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Hudson  
 
{{Hudson  
| pageTitle = Meet Hudson}}
+
| pageTitle = Getting Started With Hudson}}  
== What is Hudson? ==
+
  
Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Hudson focuses on the following two jobs:
+
== What is Hudson?  ==
# '''Building/testing software projects continuously''', just like CruiseControl or DamageControl. In a nutshell, Hudson provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases the productivity.
+
# '''Monitoring executions of externally-run jobs''', such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Hudson keeps those outputs and makes it easy for you to notice when something is wrong.
+
  
== Features ==
+
[[Image:Hudson-working.png|right|400px]]Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Among those things, currently Hudson focuses on the following two jobs:
  
Hudson offers the following features:
+
#'''Building/testing software projects continuously''', just like CruiseControl or DamageControl. In a nutshell, Hudson provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases productivity.  
# '''Easy installation''': Just {{Template:Code|java -jar hudson.war}} for testing. Use a native package or deploy it in a servlet container for production use. No additional install, no database.
+
#'''Monitoring executions of externally-run jobs''', such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Hudson keeps those outputs and makes it easy for you to notice when something is wrong.
# '''Easy configuration''': Hudson can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help. There's no need to tweak XML manually anymore, although if you'd like to do so, you can do that, too.
+
# '''Change set support''': Hudson can generate a list of changes made into the build from SCM systems like CVS, Subversion, Git and many others.. This is done in a fairly efficient fashion, to reduce the load on the repository.
+
# '''Permanent links''': Hudson gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.
+
# '''RSS/E-mail/IM Integration''': Monitor build results by RSS or e-mail to get real-time notifications on failures.
+
# '''After-the-fact tagging''': Builds can be tagged long after builds are completed
+
# '''JUnit/TestNG test reporting''': JUnit test reports can be tabulated, summarized, and displayed with history information, such as when it started breaking, etc. History trend is plotted into a graph.
+
# '''Distributed builds''': Hudson can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.
+
# '''File fingerprinting''': Hudson can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Hudson, and is ideal for projects to track dependency.
+
# '''Plugin Support''': Hudson can be extended via [[Hudson-ci/Plugins|3rd party plugins]]. You can write plugins to make Hudson support tools/processes that your team uses.
+
  
== Hudson Best Practices ==
+
== Features  ==
  
Continuous Integration with automated test execution has seen broad adoption in recent years. The ideas behind Continuous Integration have changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. This section provides a set of best practices for Hudson - A Continuous Integration Solution to provide executives, business managers, software developers and architects a better sense of the development progress and code quality of projects throughout the development lifecycle. ([[Hudson-ci/Hudson_Best_Practices| View Hudson Best Practices]])
+
Hudson offers the following features:
  
h1. Introductory Articles
+
#'''Easy installation''': Just {{Template:Code|java -jar hudson.war}} for testing. Use a native package or deploy it in a servlet container for production use. No additional install, no database.  
* [http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/hudsonADF/hudsonADF.html Short Introductory Video on Hudson by Susan Duncan]
+
#'''Easy configuration''': Hudson can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help. There's no need to tweak XML manually anymore, although if you'd like to do so, you can do that, too.  
* [http://linsolas.developpez.com/articles/hudson/ http://linsolas.developpez.com/articles/hudson/] (French)
+
#'''Change set support''': Hudson can generate a list of changes made into the build from SCM systems like CVS, Subversion, Git and many others. This is done in a fairly efficient fashion, to reduce the load on the repository.  
* [http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson/ http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson/]
+
#'''Permanent links''': Hudson gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.  
* [http://video.fosdem.org/2008/maintracks/FOSDEM2008-hudson.ogg Kohsuke presenting Hudson in FOSDEM 2008] (video)
+
#'''RSS/E-mail/IM Integration''': Monitor build results by RSS or e-mail to get real-time notifications on failures.
* [http://sysadmin.asyd.net/home/fr/devel/integration+hudson Introduction to Hudson] (French)
+
#'''After-the-fact tagging''': Builds can be tagged long after builds are completed
* [http://gihyo.jp/dev/feature/01/hudson Introduction and best practice by Kohsuke] (Japanese)
+
#'''JUnit/TestNG test reporting''': JUnit test reports can be tabulated, summarized, and displayed with history information, such as when it started breaking, etc. History trend is plotted into a graph.
* [http://xnoccio.com/362-hudson-parte-1-introduccion/|Introducción, primeros pasos e instalación de Hudson Introdución a Hudson] (Spanish)
+
#'''Distributed builds''': Hudson can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.  
* [http://tcs.java.no/tcs/download/BD3E404A-2CA7-4170-A3A3-E82892977B04 Kohsuke presenting Hudson in JavaZone 2009] (video)
+
#'''File fingerprinting''': Hudson can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Hudson, and is ideal for projects to track dependency.
* [http://docs.hawebs.net/xhtml/hudson/tutorials/mainp.html Hawebs.net docs for Hudson] (简体中文 Simplified Chinese)
+
#'''Plugin Support''': Hudson can be extended via [[Hudson-ci/Plugins|3rd party plugins]]. You can write plugins to make Hudson support tools/processes that your team uses.
* [http://wiki.hawebs.net/index.php?title=Hudson Hudson Wiki - Hudson 中文维基] (简体中文 Simplified Chinese)
+
* [http://wiki.hudson-ci.org/download/attachments/37323793/Hudson+J1+2009.ppt?version=1&modificationDate=1244127211000 Continuous Integration in the Cloud with Hudson] JavaOne 2009 presentation by Kohsuke (English)
+
* [http://infradna.com/thank-you-javaone-2010 http://wiki.hudson-ci.org/download/attachments/37323793/Hudson+J1+2009.ppt?version=1&modificationDate=1244127211000] JavaOne 2010 presentation by Kohsuke
+
* [http://marakana.com/forums/java/general/79.html Hudson presentation at San Francisco JUG by Kohsuke] (English, video and slides)
+
  
== Installation ==
+
== Industry standard products supported by Hudson  ==
  
Hudson provides native packages as well as a simple war file to install in a servlet container or run from directly. Check out [[Hudson-ci/Installing_Hudson|Installing Hudson]] for more details.
+
Hudson supports hundreds of standard products via plugins. To name a few
 +
 
 +
*'''SCM vendors:''' Git, CVS, SVN, Perforce, Mercurial, Team Foundation
 +
*'''Build tools:''' Ant, maven, gradle, MSBuild, Nant, Rake
 +
*'''Unit Testing frameworks:''' JUnit, NUnit, Selenium, CppUnit, TestNg, XUnit
 +
*'''Code Coverage tools:''' Clover, Cobertura, Emma, Serenity, Sonar, NCover, Jacoco
 +
*'''Code Analysis Tools:''' Checkstyle, PMD, Dry, Findbugs, Warnings, CCM, Violations
 +
*'''Security Tools:''' LDAP, Active Directory, Crowd, OpenID
 +
*'''Applications servers:''' Weblogic, Glassfish, Tomcat, JBoss, IIS, JRebel
 +
*'''Virtual Environment:''' EC2, Virtual Box, VmWare, JCloud
 +
*'''Social communication:''' E-mail, IRC, Jabber, SMS, Twitter
 +
 
 +
== Hudson Best Practices  ==
 +
 
 +
Continuous Integration with automated test execution has seen broad adoption in recent years. The ideas behind Continuous Integration have changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. This section provides a set of best practices for Hudson - A Continuous Integration Solution to provide executives, business managers, software developers and architects a better sense of the development progress and code quality of projects throughout the development lifecycle. ([[Hudson-ci/Hudson Best Practices|View Hudson Best Practices]])
 +
 
 +
== Introductory Articles  ==
 +
 
 +
*[http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/hudsonADF/hudsonADF.html Short Introductory Video on Hudson by Susan Duncan]
 +
*[http://linsolas.developpez.com/articles/hudson/ http://linsolas.developpez.com/articles/hudson/] (French)
 +
*[http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson/ http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson/]
 +
 
 +
== Installation  ==
 +
 
 +
Hudson provides native packages as well as a simple war file to install in a servlet container or run from directly. Check out [[Hudson-ci/Installing Hudson|Installing Hudson]] for more details.

Latest revision as of 16:37, 19 May 2014

Hudson Continuous Integration Server
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source
Hudson-bust.png Getting Started With Hudson











What is Hudson?

Hudson-working.png
Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Among those things, currently Hudson focuses on the following two jobs:
  1. Building/testing software projects continuously, just like CruiseControl or DamageControl. In a nutshell, Hudson provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases productivity.
  2. Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Hudson keeps those outputs and makes it easy for you to notice when something is wrong.

Features

Hudson offers the following features:

  1. Easy installation: Just java -jar hudson.war for testing. Use a native package or deploy it in a servlet container for production use. No additional install, no database.
  2. Easy configuration: Hudson can be configured entirely from its friendly web GUI with extensive on-the-fly error checks and inline help. There's no need to tweak XML manually anymore, although if you'd like to do so, you can do that, too.
  3. Change set support: Hudson can generate a list of changes made into the build from SCM systems like CVS, Subversion, Git and many others. This is done in a fairly efficient fashion, to reduce the load on the repository.
  4. Permanent links: Hudson gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.
  5. RSS/E-mail/IM Integration: Monitor build results by RSS or e-mail to get real-time notifications on failures.
  6. After-the-fact tagging: Builds can be tagged long after builds are completed
  7. JUnit/TestNG test reporting: JUnit test reports can be tabulated, summarized, and displayed with history information, such as when it started breaking, etc. History trend is plotted into a graph.
  8. Distributed builds: Hudson can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.
  9. File fingerprinting: Hudson can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Hudson, and is ideal for projects to track dependency.
  10. Plugin Support: Hudson can be extended via 3rd party plugins. You can write plugins to make Hudson support tools/processes that your team uses.

Industry standard products supported by Hudson

Hudson supports hundreds of standard products via plugins. To name a few

  • SCM vendors: Git, CVS, SVN, Perforce, Mercurial, Team Foundation
  • Build tools: Ant, maven, gradle, MSBuild, Nant, Rake
  • Unit Testing frameworks: JUnit, NUnit, Selenium, CppUnit, TestNg, XUnit
  • Code Coverage tools: Clover, Cobertura, Emma, Serenity, Sonar, NCover, Jacoco
  • Code Analysis Tools: Checkstyle, PMD, Dry, Findbugs, Warnings, CCM, Violations
  • Security Tools: LDAP, Active Directory, Crowd, OpenID
  • Applications servers: Weblogic, Glassfish, Tomcat, JBoss, IIS, JRebel
  • Virtual Environment: EC2, Virtual Box, VmWare, JCloud
  • Social communication: E-mail, IRC, Jabber, SMS, Twitter

Hudson Best Practices

Continuous Integration with automated test execution has seen broad adoption in recent years. The ideas behind Continuous Integration have changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. This section provides a set of best practices for Hudson - A Continuous Integration Solution to provide executives, business managers, software developers and architects a better sense of the development progress and code quality of projects throughout the development lifecycle. (View Hudson Best Practices)

Introductory Articles

Installation

Hudson provides native packages as well as a simple war file to install in a servlet container or run from directly. Check out Installing Hudson for more details.

Back to the top