I need to setup a build development environment that includes the following
- Sonatype Nexus
- Jenkins
- Collabnet Subversion
My application runs on a GlassFish application server. I noticed that all the above three tools come with embedded application servers. I have downloaded each and have tried them out but i am a bit wary of the fact that i now have 4 application servers running.
I noticed that each of them also provide war file variant which can just be dropped on to an existing app server. I think with “Collabnet Subversion Edge” i probably dont have any other option as it doesnt come with a war installation option. The other two can be downloaded as war files.
What are the disadvantages of running both Nexus and Jenkins on the same application server. Are there any drawbacks? One i am investigating at the moment is how to configure it. It seems that it can only be configured once the war files has been exploded/unarchived by the application server.
I am also reluctant to drop these war files into the existing Glassfish instance as it is used for formal tests. I think maybe i should install Tomcat and use it for these tools. Would you recommend that i stick with the embedded servers or just use one application server and allocate more memory when necessary? Do any of these tools work better with their embedded servers or does it not make any difference?
Thanks
Hudson/Jenkins as well as Nexus can run as war files in Tomcat or Glassfish. However for both of them the preferred and best supported option is to use the bundled app server.
Nexus uses Jetty internally. Hudson 3 (beta from Eclipse) does too. Old Hudson and Jenkins both use winstone internally. Both of these are VERY lightweight containers and the overhead of running them side by side should be negligible.
You will get a lot more impact from what these servers actually do (running builds, serving artifacts and so on).
So to make your life easier for install, upgrades as well as runtime support I would suggest to stick with the embedded default app servers.