Part of the COVID-19 Interoperability Alliance – https://covid19ia.org
We use a "featuring branching" strategy off the staging
branch. We branching or submitting pull requests, please always use staging
, not master
. The master
branch only contains the current production release and should never be committed to directly.
Hosted versions are currently rolled out by:
The easiest way to build and run this IG from source is using Docker, which leverages the Logica's FHIR IG base tooling image. Linux, macOS, and Windows should all work fine using the same process.
Before starting, make sure your Docker daemon is able to allocate sufficient memory. In Docker Desktop for macOS and Windows, this can be set within the configuration UI.
# With Docker installed, you can easily build this IG from scratch
# using the pre-configured base image. Make sure Docker settings allows for
# the ridiculous amount of memory needed by the IG publisher.
# Increase the RAM limit below if needed.
docker build -t logicahealth/covid-19-ig:latest --no-cache --memory=4g .
# To run it locally:
docker run -it --rm -p 8080:80 logicahealth/covid-19-ig:latest
# View it in your web browser:
open http://localhost:8080
# (Optional) Publish it:
docker push logicahealth/covid-19-ig:latest
# (Optional) Tag it:
docker tag logicahealth/covid-19-ig:latest logicahealth/covid-19-ig:vX.Y.Z
docker push logicahealth/covid-19-ig:vX.Y.Z
If you want a to-the-second updated copy of the base image -- which provides the IG publisher pre-installed with all dependencies -- you may recreate the entire base image from scratch using the docker build ...
command from the base image README. It should take a few minutes.
Once completed, your IG builds will use this local base image. If you wish to update the public published copy of the base image, you will need permissions on Logica's fhir-ig-base Docker Hub repository.
You are welcome to build manually using the IG publisher .jar and manage those dependencies yourself. If you do, please do not check in binaries, output, or cached files.
Due to the HL7 IG publisher RAM requirements, we typically build locally and push images into the deployment system. (This is unlike most other Logica projects where building is fully automated.) The overall process is:
git merge dev
)git commit -m "Updating metadata for release." -a
)
docker build -t logicahealth/covid-19-ig-staging:latest .
&& docker push logicahealth/covid-19-ig-staging:latest
)docker tag logicahealth/covid-19-ig-staging:latest logicahealth/covid-19-ig:vX.Y.Z
&& docker tag logicahealth/covid-19-ig-staging:latest logicahealth/covid-19-ig:latest
)docker push logicahealth/covid-19-ig:vX.Y.Z
&& docker push logicahealth/covid-19-ig:latest
)git tag vX.Y.Z
&& git push --tags
)git checkout master
&& git merge staging
&& git push
)git checkout dev
&& git merge staging
&& git push
)This project is made available under Creative Commons Attribution 4.0 International (CC-BY-4.0). Copyright © 2020 Logica, Inc. All rights reserved.