Skip to content
Snippets Groups Projects
Commit b99a84d3 authored by Clayton, Brandon Scott's avatar Clayton, Brandon Scott
Browse files

Merge branch 'docker-fix' into 'master'

point back to S3 for now

See merge request ghsc/nshmp/nshmp-netcdf!56
parents f48dfeee 15211faa
No related branches found
No related tags found
1 merge request!56point back to S3 for now
Pipeline #37255 canceled
...@@ -7,6 +7,9 @@ variables: ...@@ -7,6 +7,9 @@ variables:
PIPELINE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}--pipeline PIPELINE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}--pipeline
POETRY_CACHE_DIR: ${CI_PROJECT_DIR}/tmp/.poetry POETRY_CACHE_DIR: ${CI_PROJECT_DIR}/tmp/.poetry
REPORTS_DIR: build/reports REPORTS_DIR: build/reports
# TODO: Remove hard coded url
S3_BUCKET: https://nshmp-netcdf-lp-development-rbucket-1of3d1x45yfd9.s3-us-west-2.amazonaws.com
# Do not run for merge requests # Do not run for merge requests
workflow: workflow:
...@@ -158,6 +161,10 @@ Java - Build Project: ...@@ -158,6 +161,10 @@ Java - Build Project:
stage: build stage: build
Java - Build Image 2018: Java - Build Image 2018:
before_script:
- apk add curl
- mkdir DATA
- curl -SL ${DATA_URL} -o DATA/data.nc
extends: extends:
- .build - .build
rules: rules:
...@@ -179,6 +186,7 @@ Java - Build Image 2018: ...@@ -179,6 +186,7 @@ Java - Build Image 2018:
BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/java:11 BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/java:11
FROM_IMAGE=${DEVOPS_REGISTRY}usgs/java:11 FROM_IMAGE=${DEVOPS_REGISTRY}usgs/java:11
ci_job_token=${CI_JOB_TOKEN} ci_job_token=${CI_JOB_TOKEN}
netcdf_file=DATA/data.nc
Java - Unit Tests: Java - Unit Tests:
artifacts: artifacts:
......
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
# docker build # docker build
# --build-arg gitlab_token=<token> # --build-arg gitlab_token=<token>
# -t nshmp-netcdf . # -t nshmp-netcdf .
#
# Install:
# - Python 3.9
# - Poetry
# - NetCDF
#### ####
ARG BUILD_IMAGE=usgs/java:11 ARG BUILD_IMAGE=usgs/java:11
...@@ -35,7 +30,14 @@ ENV CI_JOB_TOKEN ${ci_job_token} ...@@ -35,7 +30,14 @@ ENV CI_JOB_TOKEN ${ci_job_token}
WORKDIR ${workdir} WORKDIR ${workdir}
COPY . . COPY build.gradle .
COPY .git .git
COPY gradle gradle
COPY gradle.properties .
COPY gradlew .
COPY settings.gradle .
COPY src src
COPY openapi.properties .
RUN ./gradlew assemble \ RUN ./gradlew assemble \
&& mv ${libs_dir}/*-all.jar ${jar_file} && mv ${libs_dir}/*-all.jar ${jar_file}
...@@ -45,6 +47,12 @@ RUN ./gradlew assemble \ ...@@ -45,6 +47,12 @@ RUN ./gradlew assemble \
#### ####
FROM ${FROM_IMAGE} FROM ${FROM_IMAGE}
# The NetCDF file to read in
ARG netcdf_file="src/main/resources/default.nc"
# The NetCDF file to read in
ARG netcdf_file="src/main/resources/default.nc"
# The NSHM to use # The NSHM to use
# Available NSHM to run: # Available NSHM to run:
# - CONUS_2018A # - CONUS_2018A
...@@ -55,39 +63,15 @@ ENV CONTEXT_PATH "/" ...@@ -55,39 +63,15 @@ ENV CONTEXT_PATH "/"
ARG jar_file ARG jar_file
ARG project ARG project
ARG workdir ARG workdir
ENV PROJECT ${project} ENV PROJECT ${project}
ENV NETCDF_FILE ${netcdf_file} ENV NETCDF_FILE ${netcdf_file}
ENV PYTHON_URL="https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz" COPY ${NETCDF_FILE} ${NETCDF_FILE}
ENV PIP_CERT=${SSL_CERT_FILE}
RUN yum install -y epel-release dnf-plugins-core \
&& yum config-manager --set-enabled powertools \
&& yum install -y \
gcc \
make \
netcdf \
openssl-devel \
bzip2-devel \
libffi-devel \
zlib-devel \
&& yum clean all
WORKDIR /python
RUN curl -sS "${PYTHON_URL}" | tar xz --strip-components=1 \
&& ./configure --enable-optimizations --silent \
&& make install --silent \
&& curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3
WORKDIR ${workdir}
COPY --from=builder ${jar_file} ${project}.jar ENTRYPOINT /usr/bin/java -jar ${PROJECT}.jar \
COPY src/main/python src/main/python "-Dmicronaut.server.context-path=${CONTEXT_PATH}" \
COPY src/main/resources src/main/resources -nshm=${NSHM} \
COPY poetry.lock . -netcdf=${NETCDF_FILE}
COPY pyproject.toml .
COPY docker-entrypoint.sh .
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT [ "bash", "docker-entrypoint.sh" ]
#!/bin/bash
INSTALL_DATABASE="${INSTALL_DATABASE:-false}";
NETCDF_FILE="${NETCDF_FILE:-"/app/data.nc"}";
NSHM="${NSHM:-"CONUS_2018A"}";
PROJECT="${PROJECT:-nshmp-netcdf}";
# TODO: Remove option to install database in container when deployed to AWS
if [ "${INSTALL_DATABASE}" == "true" ]; then
export REQUESTS_CA_BUNDLE="${SSL_CERT_FILE}";
export PATH="$HOME/.poetry/bin:$PATH";
poetry install;
case "${NSHM}" in
"CONUS_2018A")
poetry run netcdf \
--2018A \
--clean-ascii \
--database-directory="/app/DATA" \
--netcdf-filename="${NETCDF_FILE}";
;;
*)
printf "ERROR: NSHM %s not supported" "${NSHM}";
;;
esac
fi
/usr/bin/java -jar "${PROJECT}.jar" \
"-Dmicronaut.server.context-path=${CONTEXT_PATH}" \
-nshm="${NSHM}" \
-netcdf="${NETCDF_FILE}";
...@@ -23,4 +23,3 @@ services: ...@@ -23,4 +23,3 @@ services:
environment: environment:
NSHM: 'CONUS_2018A' NSHM: 'CONUS_2018A'
CONTEXT_PATH: '/nshmp/ws/conus-2018/static' CONTEXT_PATH: '/nshmp/ws/conus-2018/static'
INSTALL_DATABASE: 'true'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment