[jbosstools-issues] [JBoss JIRA] (JBIDE-25303) Server adapter: support hot-deployment on OpenShift for SpringBoot app

Andre Dietisheim (JIRA) issues at jboss.org
Wed Dec 6 12:25:00 EST 2017


    [ https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502528#comment-13502528 ] 

Andre Dietisheim commented on JBIDE-25303:
------------------------------------------

[~aurelien.pupier] I tried to explain that in my [comment|https://issues.jboss.org/browse/JBIDE-25303?focusedCommentId=13497490&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13497490]. 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)



More information about the jbosstools-issues mailing list