Skip to content

Contributor Docs: Building and Publishing Docker images

Anya Petersen edited this page Jan 8, 2019 · 1 revision

Note that presently any images published will be publicly accessible

If triggered, new Docker images will be published for https://hub.docker.com/r/nrel/openstudio-server/tags and https://hub.docker.com/r/nrel/openstudio-rserve/tags. Publishing is handled by Travis and specifics are managed by deploy_docker.sh script.

Default publishing triggers

  1. Commits to master will be published using the concatenation of VERSION and VERSION_EXT in version.rb. Note that nothing prevents this script from replacing a given image:tag combination.
  2. Commits to develop and experimental branches will always be published to Dockerhub with matching tag name of develop or experimental.

Custom publishing

To publish a custom docker image tagged according to the format ^.*\-{1}[a-z]+[0-9]+ (examples: 2.7.2-rc0, 2.7.1-custom2 ), follow these steps:

  1. Update deploy_docker.sh to uncomment the block corresponding to my-branch-name. [Note this is currently in the custom-docker-publishing PR but should be merged soon] [NOTE revert this prior to PR into develop]
  2. Update version.rb to include relevant extension name with specified format.
  3. Update .travis.yml to explicitly allow publishing from your branch. [NOTE: very important to revert this before a PR into develop]
  4. Push.

TODO: move this workflow to be triggered by tag. Version in tag should be checked against version in file. Extension should be parsed and populated from tag rather than requiring changes to the version.rb file for each pre-release or custom publishing.

TODO: update once custom-docker-publishing branch is merged