I've been maintaining a Jenkins / Sonar / Nexus and I pointed out a minimal configuration (Debian 5):
- CPU : n/a (bye bye plain old school CPU at least ;) )
- RAM : 1GB (I prefer 2)
- HDD : depends on the needs. For my use, a 8 module J2EE Maven project + db scripts (6500 lines of code) represents less of 50 MB. I configured Jenkins to store 10 builds (500 MB)
However, if Jenkins has to manage several projects at the time, you have to consider few things:
- keep Jenkins data in a separate directory of the system (default install may put those in
/usr
) with the Jenkins config way of your choice
- mount a dedicated HDD partition on this directory and let you a way to manage space on disk (virtual drive, partition resizing tool...)
- supervising activity to prevent space left and avoid an angry boss :) (Nagios for example)
Think about backup, other application on server, and a important thing - Jenkins resources depends on JVM capacity.