[
https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi...
]
Andre Dietisheim edited comment on JBIDE-25303 at 12/6/17 12:26 PM:
--------------------------------------------------------------------
[~aurelien.pupier] I tried to explain that in my
[
comment|https://issues.jboss.org/browse/JBIDE-25303?focusedCommentId=1349...].
The example fuse-on-openshift (as it is now once imported into Eclipse) compiles classes
into <project>/target/classes, there is no BOOT-INF in it. On the other hand, the
pod expects changed classes in <deployment-root>/BOOT-INF/classes. The BOOT-INF
comes from the fact that it is unpacking the jar that it got from the fabric8-maven
plugin. Both paths (project-, pod-) dont match. So the question is how to have the project
to "package" classes into BOOT-INF/classes so that the adapter has the same path
on both ends. [~rob.stryker] was suggeting the configuration in the "Deployment
Assembly" that i pointed out above. He also mentioned that there are m2e-wtp bridges
that could fullfill this. [~jeffmaury] doesnt seem to agree on the assembly approach. To
me the configuration for the "Deployment Assembly" does exactly that, it makes
sure that the temp directory, that the server adapter syncs to the pod, has the correct
structure with a BOOT-INF/classes.
[~rob.stryker] Toughts?
was (Author: adietish):
[~aurelien.pupier] I tried to explain that in my
[
comment|https://issues.jboss.org/browse/JBIDE-25303?focusedCommentId=1349...].
The example fuse-on-openshift (as it is now once imported into Eclipse) compiles classes
into <project>/target/classes, there is no BOOT-INF in it. On the other hand, the
pod expects changed classes in <deployment-root>/BOOT-INF/classes. The BOOT-INF
comes from the fact that it is unpacking the jar that it got from the fabric8-maven
plugin. Both paths (project-, pod-) dont match. So the question is how to have the project
to "package" classes into BOOT-INF/classes so that the adapter has the same path
on both ends. [~rob.stryker] was suggeting the configuration in the "Deployment
Assembly" that i pointed out above. He also mentioned that there are m2e-wtp bridges
that could fullfill this. [~jeffmaury] doesnt seem to agree on the assembly approach.
[~rob.stryker] Toughts?
Server adapter: support hot-deployment on OpenShift for SpringBoot
app
----------------------------------------------------------------------
Key: JBIDE-25303
URL:
https://issues.jboss.org/browse/JBIDE-25303
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: openshift
Affects Versions: 4.5.1.Final
Reporter: Aurélien Pupier
Assignee: Andre Dietisheim
Labels: openshift_v3, server_adapter
Fix For: 4.5.2.AM2
Attachments: fuse-on-openshift.zip, project-deployment-assembly.png,
spring-boot-demo.zip
currently, Springboot jar projects (such as Fuse Integration Services) are rsynced with a
zipped jar file.
The requirements are:
- rsync unpacked jar
- rsync without the jar name as folder
- it will will work only if springboot devtool are included (so maybe need some dialog
guiding user to do i in case it is not activated)
use case "Develop SpringBoot application deployed on OpenShift as any other
applications in JBoss Tools":
- there is a SpringBoot app deployed on OpenShift
- the developer want to develop evolution of the SpringBoot app
-- when he/she modifies the project, the application needs to be automatically updated on
OpenShift instance
-- Remote java debug should be available when the OpenShift server adapter is in debug
mode.
Steps:
# EXEC: create a project in your OpenShift server (ex. camel-ose-springboot)
# EXEC: Import project within fuse-on-openshift.zip into your workspace
# EXEC: open launch configuration and change:
** -Dkubernetes.master= so that it first your cdk instance
** -Dkubernetes.namespace= to the name of the project that you create in step 1.
# EXEC: run the launch config (that is included in the project), so that the project gets
deployed to OpenShift (cdk)
# ASSERT: your project in OpenShift now contains a service **camel-ose-springboot-xml**,
the pod for it is running.
# EXEC: in OpenShift Explorer: select this service and create a server adapter for it
(*Server Adapter..* in the context menu for the service)
# ASSERT: server adapter is created and is *[started]*
# EXEC: in OpenShift Explorer: pick *Pod Log...* in the context menu for the pod of your
service)
# ASSERT: pod log is opened in "Console" view and shows an output with random
numbers in the end
{code}
simple-route - >>> 455
simple-route - >>> 695
simple-route - >>> 935
{code}
# EXEC: In Project Explorer: open class MyTransformer and change the transform method
# ASSERT: "Console" view is opened and shows how the server adapter is
publishing the MyTransformer class to the pod
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)