The purpose of this repo is to Dockerize the HL7 IG Publisher jar so that you can avoid installing dependencies and run the publisher in a Docker container.
This is very useful for running the IG Publisher in CI pipelines. You can see an example of this in the Kids First FHIR Model repo.
Note
The Docker image is built from a released version of the IG Publisher jar. This used to come from the parent repo: https://github.com/FHIR/latest-ig-publisher, but this is no longer the case. Images are now built using releases from https://github.com/HL7/fhir-ig-publisher. The release version for which to build the image is set in the version.json
file.
The CircleCI pipeline
for this repo is setup so that merges into the master
branch are only allowed if the IG Publisher jar is able to successfully build the sample IG in the tests/ig-site folder.
Upon successful merge into the master
branch, the CI pipeline will push the Docker image for the IG publisher release to Docker Hub and tag it with the release version in version.json
.
You can fetch the images on Docker Hub here: https://hub.docker.com/repository/docker/kidsfirstdrc/fhir-ig-publisher
Run the IG publisher in a docker container with a bind mounted volume containing everything needed to build the IG:
# docker run --rm -it -v <path to IG dir>:<any dir in docker container> <docker image> <normal IG publisher CLI args here>
$ docker run --rm -it -v $(pwd)/test/ig-site:/data kidsfirstdrc/fhir-ig-publisher:latest -ig /data/ig.ini -tx n/a
Anyone can use the download script to download a released IG Publisher jar for use on their local machine.
# Fetch the release version 1.1.35
./scripts/fetch_publisher_jar.sh 1.1.35
# Fetch the latest release version
./scripts/fetch_publisher_jar.sh