openshift-s2i / s2i-wildfly

Source-to-Image template for WildFly applications
http://wildfly.org/
Other
73 stars 145 forks source link

I think Hot-deploy stopped working #115

Closed thesteve0 closed 7 years ago

thesteve0 commented 7 years ago

Deployed on my own GCE cluster with 1.4 rc1

I know this worked when you and I tested about 6 - 8 months ago but I am not seeing it working now. I think it is bc we are scanning the wrong directory.

Here is where we scan: https://github.com/openshift-s2i/s2i-wildfly/blob/master/10.1/contrib/wfcfg/standalone.xml#L190

According to this page https://developer.jboss.org/wiki/JBossProperties?_sscc=t jboss.server.base.dir - The directory where server configurations exist - default: $jboss.home.dir/server

If I look at the logs for the running container: JBOSS_HOME: /wildfly

But my deployments are not there: sh-4.2$ pwd
/opt/app-root/src/deployments
sh-4.2$ ls -l
total 11672
-rwxrwx---. 1 default root 11950619 Jan 13 22:50 ROOT.war
sh-4.2$ cd /wildfly
sh-4.2$ ls
LICENSE.txt README.txt appclient bin copyright.txt docs domain jboss-modules.jar modules standalone welcome-content
sh-4.2$ cd standalone
sh-4.2$ ls
configuration data deployments lib log tmp
sh-4.2$ cd deployments/
sh-4.2$ ls
README.txt ROOT.war ROOT.war.deployed
sh-4.2$ ls -lh
total 1.9M
-rw-rw-r--. 1 default root 8.7K Aug 19 00:12 README.txt
-rw-r--r--. 1 default root 1.9M Jan 13 22:24 ROOT.war
-rw-r--r--. 1 default root 8 Jan 13 22:24 ROOT.war.deployed

So does that mean I actually need to rsync over into the /wildfly/standalone/... dir? If so I guess we should doc that somewhere because my assumption was that it would be in app-root/src/deployments since that is where it seems all my work goes.

Long story short this may just be a doc bug. But I am not even sure where we would doc this

jawnsy commented 7 years ago

Hmm. I would expect that the build process creates a war, and that if you replace it, WildFly should detect that and reload.

We seem to be delpoying to /wildfly/standalone/deployments: https://github.com/openshift-s2i/s2i-wildfly/blob/master/10.1/s2i/bin/assemble#L223

So yes, that would be the one to replace. I'm guessing s2i injects source into app-root/src, and it's built there, but the resulting war is copied over into the deployment directory, which is the one you should replace.

As for documentation - this isn't in our official docs because this isn't an official image. So I guess we should doc it in the project README?

thesteve0 commented 7 years ago

Yeah I think that would be the right place. Thanks @jawnsy

bparees commented 7 years ago

The build logs even tell you where things are deploying from: https://github.com/openshift-s2i/s2i-wildfly/blob/master/10.1/s2i/bin/assemble#L289-L292

along with updating the doc, perhaps we should move the war instead of copying it, to reduce the confusion.