In software development, Continuous Integration has become a common practice for teams that are focused on delivering high quality code throughout the product lifecycle.
A Continuous Integration system allows teams to integrate their work frequently; verify the integration through automated test cases; detect integration errors quickly; and build and test their software many times a day. It allows teams to reduce integration problems and develop cohesive software more rapidly.
Hudson is a popular web-based, open source Continuous Integration system, written in Java. It enables developers to integrate changes to the project and allows users to obtain fresh builds. Like any other Continuous Integration system, Hudson needs to be integrated with a Source Control Management (SCM) tool, such as TFS or SVN and an IDE, such as Eclipse or Visual Studio.
Features & Benefits
- Allows you to track build related information including files, file versions, status, build number, duration, executor, and so on.
- Drive cross-tool processes based on events such as Build Failure or Build Success.
- Allows the Release Manager to view the status of Hudson builds from other integrated tools.
- Increases the productivity of Hudson users.
- Ensures that all the available Hudson objects and the relationships among them can be tracked and maintained in other integrated tools.
- Bridges the gap between the Release Manager and Developers.
- Accessibility to Hudson builds and job information from other integrated tools.
- ESB based integration with SCM tools and IDEs.
- Bi-directional synchronization of Hudson entities.
- Easy to configure and customize using web based codeless configuration screens.
- Conflict detection and mediation.
Kovair Support for Hudson Integration
Kovair provides a vendor neutral integration platform called Kovair Omnibus Integration Platform to which the best-of-breed SCM tools, IDEs, and other ALM tools can be connected using adapters. The ‘Kovair Hudson Integration Adapter’ allows Hudson to connect to Kovair Omnibus Integration Platform and thereby get integrated with other ALM tools in the system.
The integration between Hudson and other ALM tools provides a convenient way for managing Hudson jobs, builds, related change sets, change set files, test results, test cases, and artifacts. This integration is achieved using two components:
Kovair Hudson Integration Adapter: It is a WCF service that exposes Hudson entities, entity fields, and relations and contains a database to keep track of Hudson events and actions.
Kovair Listener plug-in for Hudson: It is a custom plug-in that collects Hudson events and sends them to the adapter.
Hudson Integration Adapter offers the followings:
When Hudson is integrated into the ALM system using Kovair Hudson Integration Adapter, the following data can be tracked:- Versions of files used in a build.
- Build related information, such as build status, build number, duration, executor, and so on.
- Job configuration and build specific job information.
- Change sets associated with any particular build.
- Files associated with change set and their version number.
- JUnit test results associated with any build.
- Artifacts
Hudson Integration Adapter offers the followings:
Defect Tracking
Using Kovair Omnibus Integration Platform and relevant adapters, you can integrate Hudson with defect tracking systems, such as JIRA and Bugzilla to reduce the need of maintaining change log.
The integration allows you to track changes as they are made. For example, you can know what build has been performed for a particular set of defects and get access to the actual build results and artifacts.
Improved Product Quality
Bugs that arise when changes are merged with the source control repository are rarely identified because the problem is not localized; it is in the interaction between two pieces of work. Often, integration bugs start infecting the system weeks or months after they were inserted. As a result, it takes a lot of effort to identify those bugs.
Continuous Integration with Hudson ensures that vast majority of integration bugs manifest themselves immediately and are easy to detect. This greatly reduces the scope of the search for the integration bugs; and if you cannot find the bug, you can avoid putting the offending code into the product, so that in the worst case, you do not add the feature that contains the bug.
Improved Productivity
Productivity of employees is increased when they get to work within their familiar tool environment.
Kovair allows developers using Eclipse or VSTS IDE to work with Hudson from within their preferred IDE. Developers can execute and monitor builds, as well as inspect the results. Kovair Eclipse plug-in collects build information from Kovair Hudson Integration Adapter and displays the information to provide a quick overview of test results, artifacts, and changes for each build. The plug-in also displays tasks associated with each build, creating traceability between tasks’ source and builds.