isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <...@haywood-associates.co.uk>
Subject Re: Faster development turnaround times (follow-up)
Date Mon, 23 Jul 2018 23:46:05 GMT
Hi Marc,

Coincidentally I was playing around with this myself over the weekend.  I
think I have a reasonable solution.

First, I've added a new module to Isis core which will create a new Docker
image layered on top of one of the official Tomcat images [1].  This adds
the Isis JARs as shared libraries.  The idea is that this can run in the
background and then be able to deploy/undeploy onto it, keeping those Isis
jars loaded all the time.

This new module is in master (2.0.0-M1 codebase) but it isn't really
specific to Isis v2; see [2] and [3].

Once built, use:

      docker run -p8080:8080 apacheisis/core

The user name and password are "admin/password" (tomcat-users.xml file)

I've also updated the helloworld and simpleapp applications (which we
reverse engineer to create the corresponding archetypes), using the
maven-war-plugin with "packagingExcludes", as per [4].  This does require
that the JARs that make up the app are easily distinguished from the
isis+transitive JARs, but I think that's not too difficult.  See [5].

To use, just activate the profile:

          mvn clean install -Dskinny-war

Finally, I also updated helloworld and simpleapp so that they can be
deployed to a running Tomcat, see [6].

To use:

          mvn -s .m2/settings.xml -D deploy-to-tomcat tomcat7:deploy-only

where the settings.xml file has the user/password combo.

I'll write all this up for the docs proper, but hopefully useful in the
meantime.

Cheers
Dan


[1] https://hub.docker.com/r/library/tomcat/tags/9.0.10-jre8-slim/
[2] https://github.com/apache/isis/tree/master/core/webdocker
[3]
https://github.com/apache/isis/commit/b6c4c59cf78ee380ae0e2da3365958e1f7474e8e
[4] https://stackoverflow.com/a/31410108/56880
[5]
https://github.com/apache/isis/commit/0557a4c8147df0ecdd494b07f3f076da17035ae4

[6]
https://github.com/apache/isis/commit/890558d1adfca91b436c8306a148c2667095d631


On Mon, 23 Jul 2018 at 08:50 Marc Fargas <telenieko@telenieko.com> wrote:

> Hi,
>
> Reading through this list's archives I found a thread from May titled
> "Faster development turnaround times" in which a new technique is
> "announced" about "Skinny-WAR deployment":
>
> (Andi Huber):
> > In my IDE I've prepared a payara (others like tomcat should work as
> well) with shared libraries, such that my actual WAR files are usually less
> then 2MB in size.
> > So the entire Apache Isis ecosystem's libraries are not included with
> the WAR file and the servlet-engine is up and running during the entire
> development session, no need to restart.
>
> > That way, when I change a java file in the IDE, a redeployment happens
> automatically and does not take longer than 4-6 sec on my machine.
>
> > We are working hard on the coming 2.0.0-M1 pre-release. While code is
> almost ready for production, documentation still lags behind. But we will
> (sooner or later) include documentation on how to setup such a Skinny-WAR
> deployment.
>
> Question is, as we wait for 2.0; Could somebody drop here a few
> pointers on how such setup could be achieved on the current 1.16 ?
>
> Best,
> marc
> --
> http://www.marcfargas.com - will be finished someday.
>
-- 
DISCLAIMER: This e-mail is from Haywood Associates Ltd (Registered Number
3525455) and it and its attachments may be confidential and are intended
solely for the use of the individual to whom it is addressed.  Any
unauthorised use or dissemination of this communication is strictly
prohibited. Any information provided to Haywood Associates Ltd shall be
retained and used in accordance with our Privacy Statement at
http://www.haywood-associates.co.uk/privacy.  If you have received this
communication in error, please immediately notify the sender by return
e-mail message and delete all copies of the original communication.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message