[
https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi...
]
Rob Stryker commented on JBIDE-25303:
-------------------------------------
'Mark as deployable' will basically copy the entire folder or project you've
selected, including any and all subfolders, exactly as-is. It will not ignore the src
folders and just send the classes. It will copy the project exactly as it is structured in
the project filesystem. It probably won't work for what you're trying to do.
My opinion is as follows: Either the project needs to be configured to make a properly
formed slim jar, and let the server adapter somehow turn it into the fat jar (or send it
to openshift for openshift to redeploy into a new fat jar), or, the project needs to be
configured to create a fat jar itself.
Option 1 is easily accomplished by adding a maven configurator, which adds a utility facet
and whatever default mappings are required. However, the problem then becomes how to get
this data up into openshift, since openshift has already built the fat jar out of the
initial slim jar, and no longer has a way to deal with the slim jar structure.
Option 2, in my opinion, is probably very difficult. Without a huge amount of work, the
odds of webtools being able to generate a fat jar is probably very small, without a huge
amount of work.
I'm still a bit confused (as I've always been) about the idea of structuring the
project into a pseudo-fat-jar-without-all-the-spring-pieces. This seems very strange to
me. We're then not making a fat jar, and we're not making a slim jar. We're
making some bastard hybrid.
If I had to make a choice right now, I'd suggest you always make the project
structured to create a slim jar. The server adapter should then manipulate the output how
it wants to make sure it gets rsync'd properly. However, even this structure still
requires a maven configurator to install the utility facet and make sure the slim jar is
properly generated.
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.AM3
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)