Friday, September 28, 2012

Build a complex OpenMRS system as a team

On this project we're building a set of integrated modules, and we expect all devs to be running nightly builds of them:

  • mirebalais
  • emr
  • pacsintegration
  • patientregistration

We're also depending on other OpenMRS modules that we usually use official released versions of, but occasionally we need nightly/snapshot builds. We're currently using snapshots of idgen (waiting for 2.4) and metadatasharing (waiting on META-264).

We also have quite a few devs working on this project. And this is the first time we really have multiple devs working on multiple interrelated modules. (We've had multiple devs working on a single module, and one dev working on overlapping modules, but this project combines the two!)

The lesson learned:
Don't ask every dev to always be get and build updated code for 4+ maven projects. Instead have the CI server deploy snapshot versions of those modules to a snapshot repo. (We're using the OpenMRS nexus one.)

So, if I'm working on one aspect of the code, I do a "mvn install" and it fails due to a change someone else has made in one of the modules I'm not working on at the moment, I would immediately just try "mvn install -U" (that forces an update of snapshots), and generally that will work.

No comments:

Post a Comment