Infrastructure Support to be leveraged to help kickstart new implementations

I am wondering what the best practice for getting a new implementation off the ground is?

Our current approach in Uganda has been:

  1. Have a custom module that provides configuration and setup

  2. Clone the openmrs-distro-platform to build a custom WAR file that contains required modules for the distribution.

My current challenges are:

  1. How to setup the custom module to automatically deploy artifacts to nexus on commit to GitHub or wherever the custom module repo is stored?

  2. Are there any scripts or functionality that can be shared from the OpenMRS community to enable the deployment of a WAR file to a staging environment for testing on commit of a custom module to a repo? SNAPSHOT release for an implementation?

  3. Is there any thinking to automatically building a WAR distribution file that can be made available for downloading?

Via ci.openmrs.org, we actually build a .deb file including the WAR and all the module JARs for each Reference Application build, and we use this to deploy to various qa, uat, and demo servers.

The script behind it is: https://github.com/openmrs/openmrs-distro-referenceapplication/blob/master/packaging/debian-build.sh (and I suggest you look more in detail at https://ci.openmrs.org/build/admin/edit/editBuildTasks.action?buildKey=REFAPP-OMODDISTRO-JOB1 and related configuration in ci.openmrs.org to see how things are done there.

(Not saying this is the best way of doing this, but it’s a way you can look at.)