I'm looking for a complete java development infrastructure with an integration of:
- an IDE like eclipse,
- a build system like Maven,
- a version control system like subversion,
- a continuous integration server like Hudson,
- a repository manager like Nexus,
- an automated release plugin like Maven Release Plugin.
Further I'd like to have:
- a predefined multi component project structure
...and optionally:
- an issue manager like Jira,
- an integration with an open source hoster like sourceforge.
Evaluating all these systems could take a long time, making the setup of a running infrastructure a job of a month or longer.
At work I'm ready to setup each system individually, but for my private development at home I'd like to have something like Devware - A development environment virtual appliance (unfortunately I didn't find a download link) where everything is already installed and functional.
So, could you please give me some advice which combinations create a working infrastructure? Or even better where to find a preconfigured development infrastructure?
PS: I'm not committed to any of the named products, so feel free to suggest alternatives if they match better.
If you're looking to avoid some integration pains, check out SecureCI, which is a free download of various open-source products in an integrated stack.
Blurb from the site:
SecureCI™ provides organizations with an integrated suite of open source tools that assist in the automation of the software build, test, and deploy process. By integrating secure code analysis and web security testing technologies, SecureCI extends continuous integration to incorporate automated security analysis and security testing of applications as well.
The current version bundles these tools:
- Project Management
- Trac (0.11.5)
- Sonar (1.10.1)
- Security Scanning
- Development
- Subversion (1.4.6)
- Hudson (1.322)
- Apache Ant (1.7.1)
- Apache Maven (2.2.1)
- Sonatype Nexus (1.3.6)
- Testing
- JUnit (4.6)
- Cobertura (1.9.2)
- Selenium Remote Control (1.0.1)
- Code Analysis
- Checkstyle (5.0)
- FindBugs (1.3.8)
- PMD (4.2.5)
- JDepend (2.9)
As far as IDE integrations are concerned, later versions of Eclipse now come integrated with Mylyn, this provides a task focused API for connecting to various tools.
The Trac integration can be installed with the Connector Install Wizard.
Other Eclipse integrations to use:
- Subversion integration: Subclipse and the Subclipse Mylyn integration)
- Hudson plugin
- Maven integration: M2Eclipse (also has some Mylyn connectors)
- Code Coverage: ECLEmma (I find the Cobertura plugin doesn't work too well myself)
- Selenium plugin
- Checkstyle plugin
- Findbugs plugin
- PMD plugin
- JDepend plugin or CAP
Or just use IntelliJ from JetBrains.
You might want to look into http://www.poweredbypulse.com. It provides easy to install pre-configured Eclipse instances. You can also build/configure your own.
It has been a while since I actually used this so it may have changed since then.