From 15211faa847772b6aa45a83f0e631af53ae62ac3 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Mon, 22 Mar 2021 11:24:36 -0600 Subject: [PATCH] point back to S3 for now --- .gitlab-ci.yml | 8 ++++++ Dockerfile | 56 ++++++++++++++-------------------------- docker-entrypoint.sh | 32 ----------------------- scripts/nshmp-netcdf.yml | 1 - 4 files changed, 28 insertions(+), 69 deletions(-) delete mode 100644 docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 01ebdbe..7e0f5f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,9 @@ variables: PIPELINE_IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}--pipeline POETRY_CACHE_DIR: ${CI_PROJECT_DIR}/tmp/.poetry 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 workflow: @@ -158,6 +161,10 @@ Java - Build Project: stage: build Java - Build Image 2018: + before_script: + - apk add curl + - mkdir DATA + - curl -SL ${DATA_URL} -o DATA/data.nc extends: - .build rules: @@ -179,6 +186,7 @@ Java - Build Image 2018: BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/java:11 FROM_IMAGE=${DEVOPS_REGISTRY}usgs/java:11 ci_job_token=${CI_JOB_TOKEN} + netcdf_file=DATA/data.nc Java - Unit Tests: artifacts: diff --git a/Dockerfile b/Dockerfile index 587625d..acf6871 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,6 @@ # docker build # --build-arg gitlab_token=<token> # -t nshmp-netcdf . -# -# Install: -# - Python 3.9 -# - Poetry -# - NetCDF #### ARG BUILD_IMAGE=usgs/java:11 @@ -35,7 +30,14 @@ ENV CI_JOB_TOKEN ${ci_job_token} 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 \ && mv ${libs_dir}/*-all.jar ${jar_file} @@ -45,6 +47,12 @@ RUN ./gradlew assemble \ #### 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 # Available NSHM to run: # - CONUS_2018A @@ -55,39 +63,15 @@ ENV CONTEXT_PATH "/" ARG jar_file ARG project ARG workdir + ENV PROJECT ${project} ENV NETCDF_FILE ${netcdf_file} -ENV PYTHON_URL="https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz" -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 ${NETCDF_FILE} ${NETCDF_FILE} -COPY --from=builder ${jar_file} ${project}.jar -COPY src/main/python src/main/python -COPY src/main/resources src/main/resources -COPY poetry.lock . -COPY pyproject.toml . -COPY docker-entrypoint.sh . +ENTRYPOINT /usr/bin/java -jar ${PROJECT}.jar \ + "-Dmicronaut.server.context-path=${CONTEXT_PATH}" \ + -nshm=${NSHM} \ + -netcdf=${NETCDF_FILE} EXPOSE 8080 -ENTRYPOINT [ "bash", "docker-entrypoint.sh" ] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh deleted file mode 100644 index 7315241..0000000 --- a/docker-entrypoint.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/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}"; diff --git a/scripts/nshmp-netcdf.yml b/scripts/nshmp-netcdf.yml index 619db08..1f1ff7b 100644 --- a/scripts/nshmp-netcdf.yml +++ b/scripts/nshmp-netcdf.yml @@ -23,4 +23,3 @@ services: environment: NSHM: 'CONUS_2018A' CONTEXT_PATH: '/nshmp/ws/conus-2018/static' - INSTALL_DATABASE: 'true' -- GitLab