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

Merge branch 'pipelines' into 'main'

Docker Images

See merge request !741
parents 30e559a4 a88c80f0
No related branches found
No related tags found
2 merge requests!743Production Release | nshmp-haz,!741Docker Images
Pipeline #302190 passed
...@@ -4,6 +4,8 @@ variables: ...@@ -4,6 +4,8 @@ variables:
NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA} NSHMP_HAZ_WS_IMAGE: ${CODE_REGISTRY_IMAGE}/nshmp-haz-ws:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
REPORTS_DIR: build/reports REPORTS_DIR: build/reports
image: ${CI_REGISTRY}/devops/images/usgs/java:11
# Do not run for merge requests # Do not run for merge requests
workflow: workflow:
rules: rules:
...@@ -70,11 +72,12 @@ default: ...@@ -70,11 +72,12 @@ default:
## ##
# Docker in Docker # Docker in Docker
## ##
.dind: .dind:
image: ${DEVOPS_REGISTRY}docker:19.03-git image: ${CI_REGISTRY}/devops/images/docker:20
services: services:
- alias: docker - alias: docker
name: ${DEVOPS_REGISTRY}docker:19.03-dind name: ${CI_REGISTRY}/devops/images/docker:20-dind
variables: variables:
DOCKER_DRIVER: overlay2 DOCKER_DRIVER: overlay2
...@@ -142,22 +145,13 @@ default: ...@@ -142,22 +145,13 @@ default:
variables: variables:
DOCKERFILE: Dockerfile DOCKERFILE: Dockerfile
DOCKER_BUILD_ARGS: | DOCKER_BUILD_ARGS: |
BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA} IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
PUSH_DOCKER: 'false' PUSH_DOCKER: 'false'
REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE} REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE}
TAG: build TAG: build
####
# Java Templates
####
##
# General Java setup
##
.java:
image: ${DEVOPS_REGISTRY}usgs/amazoncorretto:11
#### ####
# Stage: build # Stage: build
...@@ -180,8 +174,8 @@ CHS Registry: ...@@ -180,8 +174,8 @@ CHS Registry:
TAG: build TAG: build
variables: variables:
DOCKER_BUILD_ARGS: | DOCKER_BUILD_ARGS: |
BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH} CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH}
CI_PROJECT_URL=${CI_PROJECT_URL} CI_PROJECT_URL=${CI_PROJECT_URL}
PUSH_DOCKER: 'true' PUSH_DOCKER: 'true'
...@@ -206,15 +200,13 @@ Container Registry: ...@@ -206,15 +200,13 @@ Container Registry:
TAG: nshmp TAG: nshmp
variables: variables:
DOCKER_BUILD_ARGS: | DOCKER_BUILD_ARGS: |
BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:11 FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH} CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH}
CI_PROJECT_URL=${CI_PROJECT_URL} CI_PROJECT_URL=${CI_PROJECT_URL}
UPSTREAM_PATH: ghsc/nshmp/nshmp-haz UPSTREAM_PATH: ghsc/nshmp/nshmp-haz
Build Project: Build Project:
extends:
- .java
script: script:
- ./gradlew assemble - ./gradlew assemble
stage: build stage: build
...@@ -225,8 +217,6 @@ Build Project: ...@@ -225,8 +217,6 @@ Build Project:
Markdown Lint: Markdown Lint:
allow_failure: true allow_failure: true
extends:
- .java
needs: [] needs: []
script: script:
- ./gradlew nodeInstall - ./gradlew nodeInstall
...@@ -240,8 +230,6 @@ NSHM Tests: ...@@ -240,8 +230,6 @@ NSHM Tests:
reports: reports:
junit: ${JUNIT_FILES} junit: ${JUNIT_FILES}
coverage: '/Total.*?([0-9]{1,3})%/' coverage: '/Total.*?([0-9]{1,3})%/'
extends:
- .java
needs: [] needs: []
parallel: parallel:
matrix: matrix:
...@@ -257,8 +245,6 @@ NSHM Tests: ...@@ -257,8 +245,6 @@ NSHM Tests:
YAML Lint: YAML Lint:
allow_failure: true allow_failure: true
extends:
- .java
needs: [] needs: []
script: script:
- ./gradlew nodeInstall - ./gradlew nodeInstall
...@@ -272,8 +258,6 @@ Unit Tests: ...@@ -272,8 +258,6 @@ Unit Tests:
reports: reports:
junit: ${JUNIT_FILES} junit: ${JUNIT_FILES}
coverage: '/Total.*?([0-9]{1,3})%/' coverage: '/Total.*?([0-9]{1,3})%/'
extends:
- .java
needs: [] needs: []
script: script:
- ./gradlew check - ./gradlew check
...@@ -292,7 +276,6 @@ Trigger nshmp-haz-ws CDK: ...@@ -292,7 +276,6 @@ Trigger nshmp-haz-ws CDK:
- *staging-env - *staging-env
- *production-env - *production-env
script: script:
- apk add curl
- | - |
if [ "${ENVIRONMENT}" == 'production' ]; then if [ "${ENVIRONMENT}" == 'production' ]; then
REF="production"; REF="production";
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
# #
# docker run \ # docker run \
# --env CLASS_NAME="nshmp-haz class name" \ # --env CLASS_NAME="nshmp-haz class name" \
# --volume "/path/to/sites:/app/sites.geojson" \
# --volume "/path/to/model:/app/model" \ # --volume "/path/to/model:/app/model" \
# --volume "/path/to/output:/app/output" \ # --volume "/path/to/output:/app/output" \
# usgs/nshmp-haz:production-latest # usgs/nshmp-haz:production-latest
...@@ -27,8 +28,8 @@ ...@@ -27,8 +28,8 @@
# docker build -t nshmp-haz . # docker build -t nshmp-haz .
#### ####
ARG BUILD_IMAGE=usgs/amazoncorretto:11 ARG BUILD_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
ARG FROM_IMAGE=usgs/amazoncorretto:11 ARG FROM_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
#### ####
# Builder image: Build jar file. # Builder image: Build jar file.
...@@ -43,6 +44,8 @@ WORKDIR /app ...@@ -43,6 +44,8 @@ WORKDIR /app
COPY . . COPY . .
USER root
RUN ./gradlew assemble RUN ./gradlew assemble
#### ####
...@@ -66,10 +69,16 @@ VOLUME [ "${MODEL_PATH}", "${OUTPUT_PATH}" ] ...@@ -66,10 +69,16 @@ VOLUME [ "${MODEL_PATH}", "${OUTPUT_PATH}" ]
WORKDIR /app WORKDIR /app
COPY --from=builder /app/build/libs/nshmp-haz.jar . USER root
COPY scripts scripts
RUN yum install -y jq && \
chown -R usgs-user:usgs-user /app
USER usgs-user
COPY --from=builder --chown=usgs-user:usgs-user /app/build/libs/nshmp-haz.jar .
COPY --chown=usgs-user:usgs-user scripts scripts
RUN yum install -y jq \ RUN echo "{}" > "${CONFIG_FILE}"
&& echo "{}" > "${CONFIG_FILE}"
ENTRYPOINT [ "bash", "scripts/docker-entrypoint.sh" ] ENTRYPOINT [ "bash", "scripts/docker-entrypoint.sh" ]
...@@ -84,7 +84,7 @@ docker pull usgs/nshmp-haz:latest ...@@ -84,7 +84,7 @@ docker pull usgs/nshmp-haz:latest
docker run \ docker run \
--env CLASS_NAME="HazardCalc" \ --env CLASS_NAME="HazardCalc" \
--volume "$(pwd)/nshm-hawaii:/app/model" \ --volume "$(pwd)/nshm-hawaii:/app/model" \
--volume "$(pwd)/sites.geojson" \ --volume "$(pwd)/sites.geojson:/app/sites.geojson" \
--volume "$(pwd)/hawaii-hazard-output:/app/output" \ --volume "$(pwd)/hawaii-hazard-output:/app/output" \
usgs/nshmp-haz usgs/nshmp-haz
``` ```
...@@ -107,7 +107,7 @@ docker run \ ...@@ -107,7 +107,7 @@ docker run \
--env CLASS_NAME="DisaggCalc" \ --env CLASS_NAME="DisaggCalc" \
--env RETURN_PERIOD=475 \ --env RETURN_PERIOD=475 \
--volume "$(pwd)/nshm-hawaii:/app/model" \ --volume "$(pwd)/nshm-hawaii:/app/model" \
--volume "$(pwd)/sites.geojson" \ --volume "$(pwd)/sites.geojson:/app/sites.geojson" \
--volume "$(pwd)/hawaii-disagg-output:/app/output" \ --volume "$(pwd)/hawaii-disagg-output:/app/output" \
usgs/nshmp-haz:latest usgs/nshmp-haz:latest
``` ```
...@@ -129,7 +129,7 @@ docker pull usgs/nshmp-haz:latest ...@@ -129,7 +129,7 @@ docker pull usgs/nshmp-haz:latest
docker run \ docker run \
--env CLASS_NAME="RateCalc" \ --env CLASS_NAME="RateCalc" \
--volume "$(pwd)/nshm-hawaii:/app/model" \ --volume "$(pwd)/nshm-hawaii:/app/model" \
--volume "$(pwd)/sites.geojson" \ --volume "$(pwd)/sites.geojson:/app/sites.geojson" \
--volume "$(pwd)/hawaii-rate-output:/app/output" \ --volume "$(pwd)/hawaii-rate-output:/app/output" \
usgs/nshmp-haz usgs/nshmp-haz
``` ```
......
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
# #
# Run locally: # Run locally:
# docker run -p 8080:8080 # docker run -p 8080:8080
# -v "path/to/models:/models" # -v "path/to/model:/app/model"
# nshmp-haz-ws # nshmp-haz-ws
#### ####
ARG BUILD_IMAGE=usgs/amazoncorretto:11 ARG BUILD_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
ARG FROM_IMAGE=usgs/amazoncorretto:11 ARG FROM_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
#### ####
# Builder image: Build jar file. # Builder image: Build jar file.
...@@ -35,6 +35,8 @@ WORKDIR /app ...@@ -35,6 +35,8 @@ WORKDIR /app
COPY . . COPY . .
USER root
RUN ./gradlew assemble RUN ./gradlew assemble
#### ####
...@@ -46,12 +48,20 @@ LABEL maintainer="Peter Powers <pmpowers@usgs.gov>, Brandon Clayton <bclayton@us ...@@ -46,12 +48,20 @@ LABEL maintainer="Peter Powers <pmpowers@usgs.gov>, Brandon Clayton <bclayton@us
ENV CONTEXT_PATH="/" ENV CONTEXT_PATH="/"
ENV JAVA_OPTS="-Xms2g -Xmx8g" ENV JAVA_OPTS="-Xms2g -Xmx8g"
ENV MODELS_DIRECTORY="/model" ENV MODELS_DIRECTORY="/app/model"
WORKDIR /app WORKDIR /app
COPY --from=builder /app/build/libs/nshmp-haz.jar . USER root
COPY --from=builder /app/nshms.yml .
RUN mkdir /asset-output \
&& chown -R usgs-user:usgs-user /app \
&& chown -R usgs-user:usgs-user /asset-output
USER usgs-user
COPY --from=builder --chown=usgs-user:usgs-user /app/build/libs/nshmp-haz.jar .
COPY --from=builder --chown=usgs-user:usgs-user /app/nshms.yml .
VOLUME [ "${MODELS_DIRECTORY}" ] VOLUME [ "${MODELS_DIRECTORY}" ]
......
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