In today’s TAC meeting we were curious to stay up to date with what’s been happening with Romain’s 3.x branch - this is in reference to our TAC call ~3 weeks ago where we talked about Mekom’s deployment strategy and agreed that the RefApp should become this more easily deployable thing, that includes the approach you’ve been applying. The vision was that there would be a.3.x branch that applies this convention in the next RefApp release sometime around Q1 next year.
The action item we recorded at that time together was: Romain: Make 3.x branch for RefApp distro, that includes Mekom’s approach to deployment? Login page & dashboard.
I know it’s only been a few weeks, and this isn’t meant to apply unfair pressure. So in the interests of keeping in touch - are there any updates, or is there a place containing this branch work that people could look at?
Thanks so much! That was a great conversation a few weeks ago so we’d like to keep it moving.
A question on nginx - while it may be easy to configure with Docker, will it be the only way to serve the MF? Why not use the embedded Tomcat which reduces having an additional software component to setup and configure? That way nginx would be a performance enhancement (probably infront of Tomcat like the old Apache way for static assets)?
This is packaged as a ZIP file found inside package/target/openmrs-distro-package/
The run project will run the said distribution via a Docker Compose project. It assumes that the distro has been unpacked in the run/docker/distro/ folder (which is done when mvn clean package at the top level anyway).
@mksrom this sounds great! Would you be able to open a PR for this branch - that’ll make it much easier to see the changes you are introducing and also make inline/threaded comments about it. Thanks!
@mksrom I looked this over and this is looking quite good. I did have a question regarding how you have the maven projects set up. When I set up our equivalent of this, I had initially looked to take a similar approach but ran into problems in adding subprojects as dependencies in parent projects, or in having sibling dependencies. Have you run into any issues with this?
Only the package/ project (artifact ID openmrs-distro-package) is using subprojects (Maven Modules). This is just a convenience here so that everything is in one place, to make discussion/decisions easier.
In reality it’s likely going to be separate projects (in particular the openmrs-config).
Let me try to provide them as <dependency> just to make sure that works.
@mksrom I don’t remember the details. But I was likely doing something wrong. I was probably trying to both have inheritance and dependencies set up in a way that was incompatible (eg. having 2 submodules each inherit from the parent pom, and then having the parent depend on the built submodules or something like that). The proof is in the results - as long as what you have put together works, then I’d go with that and assume I was doing something wrong. Regardless, as you say these may well be in other projects in which case the issue is moot.