I need to install the following applications for our continuous delivery strategy:
Jenkins and Apache Archiva
But they offer:
to be install as a windows service or to be deploy in a container (i.e. Tomcat)
I was wondering if installing those applications as a service will give us better performance, reliability, security or whatsoever or the other way around or nothing at all
Thank you!
From the official documentation for installing Jenkins on Windows:
If you're running on Windows it is good to run Jenkins as a service so it starts up automatically without requiring a user to log in. The easiest way is to run the Windows installer, linked from Jenkins' homepage. This also has the advantage of being easier to automate.
If you deploy Jenkins to Tomcat, then every time you start up your computer you might have to manually start Tomcat. In addition, if you want to stop or pause Jenkins running in a container you may have to manually shut down the container. This can lead to problems if not done properly.
On other hand, if Jenkins be running as a service, then Windows will handle most of these things for you. Unless you need to have very fine grain control over Jenkins I would leave it as a service. One example where you might want to deploy it in Tomcat would be if you wrote a custom plugin and wanted to test it.