Hudson is a CI (Continuous Integration) server for Java development. The development of this platform started with Hudson while Jenkins was forked from Hudson when Sun was acquired by Oracle who aimed to develop a commercial version of the software. Since the fork, Jenkins has grown to be much more than a CI solution.
Jenkins and Hudson both run inside servlet containers on Java application servers, allowing for easy integration into your existing workflow. They both are a key part of our Java development process. We make use of both servers and are gradually moving across all our instances to Jenkins.
Jenkins
Jenkins is the most popular open-source automation server that was written in a java programming language. It facilitates the automation process of continuous integration and continuous delivery (CI/CD) in the software development process.
Jenkins supports over 1,400 plugins for other software tools. These plugins expand Jenkins into five years; platforms, UI, administration, source code management, and build management.
Jenkins is easy to install and use. It provides an impressive browser-hosted project management dashboard.
Some of the common reasons to evaluate and choose Jenkins are:
- Open-source and free
- Widely used and well documented
- Vibrant user community
- Integration with a large variety of tools and technologies.
- Plugin support
- Easy to install, configure and upgrade
- Distributed builds
- Monitoring external jobs
- Support for various authentication methods, notification, version control system, etc.
Hudson
Hudson is a CI (continuous integration) tool which is written in Java, which runs in a servlet container such as Glassfish or Apache Tomcat application server. It supports SCM tools such as Git, CVS, Perforce, ClearCase and RTC and can execute Apache Maven and Apache Ant-based projects, as well as arbitrary shell scripts and Windows batch commands.
There are following features of Hudson:
- Hudson is open-source and free.
- Ease of installation and use
You can easily write plugins to support tools/processes in your team. And after you give, they can be used by others as well.
- Distributed build support
- Inter team support
- Extensive control outside Hudson and this is possible because of programmable control interface
- Hudson is used in providing easily readable URLs for most of the pages such as "last successful build" and "promoted build".
- Localization is available in French, English, Germany, Japanese, Russian, Turkish, and Brazilian. Even you can easily create your own localization bundle.
- Hudson builds on general-purpose building blocks.