How can we do continuous delivery with Apache Karaf?
Specifically, lets say I have a service hosted in Karaf deployed in
production and the service feature is version 1.0 but I wish to upgrade to
version 1.1. I release 1.1 to a nexus repo making the artifacts available
for consumption in Karaf.
Hi Mike,
it's quite easy to deploy new versions of your bundles.
In your first example it should be something like the following in the
karaf shell:
osgi:install mvn:groupId/artefactId/version
if the kar or eba is available you might install it that way too.
For the eba's you need to make sure
Hi Mike,
if you use feature files and I think it is a good idea to do so then you
will install 1.0 in the following way:
features:addurl mvn:org.yourorg/yourproject-features/1.0/xml
features:install yourapp
Then you release 1.1 and deploy it to the maven repo
features:uninstall yourapp
christian, this is also possible, but with uninstalling you don't have
both bundles available, which might still be wanted.
which I think is one of the greatest benefits of OSGi.
regards, Achim
2011/5/4 Christian Schneider ch...@die-schneider.net:
Hi Mike,
if you use feature files and I think
well if you do an features:uninstall it should uninstall the
corresponding bundles of that feature.
after that you should remove the old url, on the other hand you might
want your old bundle still be provided for a certain time till you
do a switch
and remove those old ones.
regards, Achim
If your goal is to have zero downtime, then when you upgrade to 1.1, would
you follow these steps?
You release 1.1 and deploy it to the maven repo
features:addurl mvn:org.yourorg/yourproject-features/1.1/xml
features:install yourapp/1.1
features:uninstall yourapp/1.0
features:removeurl
One thing I've been working on recently is a deployment agent for
fabric (see
http://gnodet.blogspot.com/2011/05/introducing-fusesource-fabric.html).
We've used a slightly different mechanism as the agent is responsible
for all the deployments so that it can actually upgrade all the
bundles,
Have a look through the Karaf manual folder for how the it's generated:
http://svn.apache.org/repos/asf/karaf/trunk/manual
The project used to generate the manual is called Scalate.
You can find out more about that project here: http://scalate.fusesource.org/
Cheers,
Jamie
On Wed, May 4, 2011
I think there should also be a similar mechanism in Apache ACE (@JB,
can you enlighten us? :))
Kind regards,
Andreas
On Wed, May 4, 2011 at 5:53 PM, Guillaume Nodet gno...@gmail.com wrote:
One thing I've been working on recently is a deployment agent for
fabric (see
Hi Mike,
You have three ways to do it:
1/ Using software management in AutoDeploy
(http://buildprocess.sourceforge.net), you have agent which is able to
run any commands on the target Karaf. It's a little bit archaic but it
works ;) (I use it for ServiceMix 3/4 and Karaf in production right
Hi Andreas,
I didn't see the whole thread, just replied :)
I hope it helps ;)
Regards
JB
On 05/04/2011 06:33 PM, Andreas Pieber wrote:
I think there should also be a similar mechanism in Apache ACE (@JB,
can you enlighten us? :))
Kind regards,
Andreas
On Wed, May 4, 2011 at 5:53 PM,
Here's what I am seeing. When I do the features:uninstall it does remove my
feature and my bundles associated with the feature but not the features and
bundles I depended on.
Example, I have an ActiveMQ configuration feature I created that depends on
the activemq-karaf feature. When I uninstall
Thanks for the info. I will look into these recommendations.
--
View this message in context:
http://karaf.922171.n3.nabble.com/Continuous-Delivery-tp2899218p2899713.html
Sent from the Karaf - User mailing list archive at Nabble.com.
Perfect! Thanks for the quick response. I took a look at that code and was
able to integrate it with my build system easily. It even generates docbk
which we were already using for documentation so it was much easier than I
was expecting.
The only issue I have is that adding the --help option to
We're always happy to receive patches. I take it the flag would be set
to true, requiring the --help option by default? I can see how the
--help can be an issue when making a manual. Our normal process for
this would be to create a Jira entry at Karaf and submit a patch as an
attachment to that
Hi could you please provide some more information on which karaf version
and what you have included inside your war archive. But from my
experience this is due to the fact that your war archive includes some
sort of
servlet.jar which is actually not allowed by any web container, just
that the
Just as reminder, it's the same problem outside OSGi/Karaf. For
instance, try to deploy a WAR in Tomcat or JBoss if you embed
servlet.jar from another version, it will fail ;)
The J2EE best practice specifies to avoid to include servlet.jar in the
webapp classloader.
Regards
JB
On
it should work right away on trunk
Am 04.05.2011 22:18, schrieb mikevan:
I did that, removed all the jmx stuff from the above jetty.xml file, and
jetty failed to start up (inside Karaf). I'll do what you suggested, but
that jetty.xml configuration was copied from the trunk jetty.xml file in
Thanks for the quick reply. It is indeed included on the class-path (not due
to an explicit decision on our part, but because the application we
OSGifying included it). I've made the change, but need to get it onto a box
that was showing the problem. I'll provide an update in the next couple of
19 matches
Mail list logo