HyraxDockerReleaseGuide

From OPeNDAP Documentation

1 Overview

This document describes how to make a release of the official Hyrax Docker image

Each of our official Docker image builds are based on an associated official release of the Hyrax server. The images are built using the official release tar/war files whose authenticity is verified during the build.

In our Docker project, each release of Hyrax has its own directory. Making a new release begins with copying the most recent release files to a new release directory and editing their contents, and of course, testing that it works.

2 Release Recipe

2.1 Create Release template and update as needed

1. Create a new Docker release directory and copy the files from the previous release into the new directory
mkdir hyrax-xx.yy.zz
cp -R hyrax-1.13.4/* hyrax-xx.yy.zz
2. In each of the following files
hyrax-xx.yy.zz/besd/Dockerfile
hyrax-xx.yy.zz/olfs/Dockerfile
hyrax-xx.yy.zz/hyrax/Dockerfile
hyrax-xx.yy.zz/ncWMS/Dockerfile
You will need to edit 3 specific sections
The metadata LABEL group:
LABEL vendor="OPeNDAP Incorporated" 
LABEL org.opendap.hyrax.version="1.13.4"
LABEL org.opendap.hyrax.release-date="2017-06-05"
LABEL org.opendap.hyrax.version.is-production="true"
The version information:
# HYRAX VERSION INFO 
ENV HYRAX_VERSION=1.13.4 
ENV LIBDAP_VERSION=3.19.0-1
ENV BES_VERSION=3.18.0-1
ENV OLFS_VERSION=1.16.3
And you will need to review and probably edit the down load URL for each component:
# RELEASE URLs
ENV LIBDAP_RPM="https://www.opendap.org/pub/binary/hyrax-${HYRAX_VERSION}/centos-7.x/libdap-${LIBDAP_VERSION}.el7.centos.x86_64.rpm"
ENV BES_RPM="https://www.opendap.org/pub/binary/hyrax-${HYRAX_VERSION}/centos-7.x/bes-${BES_VERSION}.static.el7.centos.x86_64.rpm"
ENV OLFS_WAR_URL="https://www.opendap.org/pub/olfs/olfs-${OLFS_VERSION}-webapp.tgz"

Once updated, build the docker images and test them. If it all works tag the built image and push it to docker hub.

2.2 Update Documention

Make sure the the *hyrax-docker/README.md* file is up to date and that the instruction continue to reflect the current build.

Note
This page is pretty thin as we have not yet made a second release of our Docker images. Doing so will help us fill in the blanksy.