This can be achieved by deploying applications to the osgi container.
You can connect to the osgi life cycle to launch the application when the osgi bundle is running. Then you can remotely start and stop the container (if the container supports this).
Your applications can define their dependencies as part of the osgi manifest, but shading banners using the shadow plugin is not difficult when using maven, and I think it would be easier to manage and not deal with hundreds of jars in your container.
This question speaks of the continuous deployment of osgi bundles using Jenkins.
An alternative (and more standard) way would be to write scripts that automate deployment β perhaps using specially crafted tools like puppet or chef . There is a maven puppet plugin that allows you to extract artifacts from the maven repository for use in your puppet scripts.
Running a Jenkins puppet or chef is trivial, and if you want, you can provide access to deployment assemblies to non-technical employees to allow them to deploy new assemblies to the environment with the click of a button.
Like @bagheera offers to create rpms of your applications and run them, because services are a good way to go and reduce the complexity of your deployment scripts.
plasma147
source share