ITWissen.info - Tech know how online

Hudson

Hudson is a software tool for automating build processes that follows the approach of permanent (also: continuous) integration, acting in the sense of a so-called continuous integration engine. In software development, permanent (continuous) integration is a process that describes the regular transformation of source files into an executable form and its testing. Hudson is platform-independent, implemented in the Javaprogramming language and therefore requires a Java Development Kit( JDK) to run if you want to use all the features. The development of Hudson was significantly influenced by Kohsuke Kawaguchi. Under the link below a new version is available weekly as open source. An alternative tool is CruiseControl.

Hudson is a web based system and runs in a servlet container. For this purpose, a freely available servlet container such as Tomcat or the integrated servlet container Winstone can be used. Hudson enables integration with build tools such as ApacheAnt or Maven and version control systems such as Concurrent Version System( CVS) and Subversion. In addition, test tools such as JUnit and Emma are supported. However, the plug-in architecture also allows other compilers, for example for Hypertext Preprocessor( PHP), Ruby or . NET-based source code can be controlled via corresponding plug-ins.

Control of Hudson by other programs

For external control by other programs, Hudson has a programming interface called Representational State Transfer( REST), according to which each resource is to be addressed with its own Uniform Resource Identifier( URI). Because Hudson is based on a plug-in architecture, additional functions can be added easily. An active community supports this approach by regularly providing plug-ins with additional functionality.

The use of automation tools such as Hudson or CruiseControl requires integration with a central version control system. Hudson then supports the approach of continuous integration beyond the automatic launching of build tools, for example, by determining in a software-controlled manner whether revision changes (change sets) have been posted to the central repository, in order to then start the build process. Afterwards, the results are analyzed and documented accordingly, and distributed to the individual team members by mail if desired.

The regular use of Hudson can also have a positive impact on the quality of software by triggering a continuous build and integrated test process. For example, it is common practice in the so-called Nightly Builds (nightly build process) to fetch the latest versions of a software from the version management system every night and to generate an application on the basis of this, to then install it automatically ( deployment process) and to start the execution.

Informations:
Englisch: Hudson
Updated at: 04.11.2013
#Words: 414
Links: software (SW), tool, indium (In), process, transformation
Translations: DE
Sharing:    

All rights reserved DATACOM Buchverlag GmbH © 2024