"how can I use Features for Continuous Deployment? I am having trouble with
automation. That is what got me interested in the idea behind the Features…"

Well, here is my use case: 

We have hundreds of customers, some in the cloud and some with out software
on-premises, and we have a lot of bundles, more than 100 and growing fast,
and i needed to know which versions every single customer is using, allow
him to update his bundles, allow me to install and uninstall from specific
customers or all of them, quite a job. 

So, i created a tool, it runs as a bundle on a isolated region in our Karaf
which uses some OSGi services provided by Karaf ( FeaturesService,
BundleService, etc ) which communicates with a server i build that
administers and control every single thing happening inside karaf, install
stuff, delete stuff, debug stuff, stuffs stuff. 

Seems complicated, but the feature system made it quite simple, the pipeline
works like this ( i will not describe our detailed pipeline, just the
general idea _

"A feature is developed" -> "The developer finishes it and creates a release
candidate" -> "Automatically it deploys to a QA enviroment" -> "The QA Peeps
test it" -> "If approved, a release is closed and sent to our Nexus
repository" -> "My server notifies all clients that a new version of the
bundle X is released" -> "My tool register the new feature repository with
repo-add" -> "The customer clicks install" -> "The feature is installed". 

There are some more business restrictions and rules, but that's the general
idea, for us it works like a charm, i can even change .cfg files
informations from my control panel in a specific customer. 



--
View this message in context: 
http://karaf.922171.n3.nabble.com/Karaf-Feature-vs-OBR-tp4050720p4050818.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to