Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ghsc/nshmp/nshmp-haz
1 result
Show changes
Commits on Source (26)
...@@ -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,20 +276,26 @@ Trigger nshmp-haz-ws CDK: ...@@ -292,20 +276,26 @@ 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";
fi fi
- | - |
curl --request POST \ curl --request POST \
--form token=${NSHMP_HAZ_WS_CDK_TRIGGER_TOKEN} \ --form token=${NSHMP_CDK_TRIGGER_TOKEN} \
--form ref=${REF} \ --form ref=${REF} \
--form "variables[description]=Triggered by nshmp-haz" \ --form "variables[description]=Triggered by nshmp-haz" \
--form "variables[SOURCE_PROJECT_NAME]=nshmp-haz-ws" \
--form "variables[ENVIRONMENT]=${ENVIRONMENT}" \ --form "variables[ENVIRONMENT]=${ENVIRONMENT}" \
--form "variables[NSHMP_HAZ_WS_IMAGE]=${NSHMP_HAZ_WS_IMAGE}" \ --form "variables[NSHMP_HAZ_WS_IMAGE]=${NSHMP_HAZ_WS_IMAGE}" \
--form "variables[TRIGGER_PASSCODE]=${NSHMP_HAZ_WS_CDK_TRIGGER_TOKEN}" \ "https://${PRIVATE_GITLAB}/api/v4/projects/${NSHMP_CDK_PROJECT_ID}/trigger/pipeline"
"https://${PRIVATE_GITLAB}/api/v4/projects/${NSHMP_HAZ_WS_CDK_PROJECT_ID}/trigger/pipeline" - |
curl --request POST \
--form token=${NSHMP_CDK_CORE_TRIGGER_TOKEN} \
--form ref=${REF} \
--form "variables[description]=Triggered by nshmp-haz" \
--form "variables[ENVIRONMENT]=${ENVIRONMENT}" \
"https://${PRIVATE_GITLAB}/api/v4/projects/${NSHMP_CDK_CORE_PROJECT_ID}/trigger/pipeline"
stage: trigger stage: trigger
variables: variables:
REF: main REF: main
......
...@@ -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
``` ```
......
...@@ -11,8 +11,8 @@ micronautVersion = 3.2.3 ...@@ -11,8 +11,8 @@ micronautVersion = 3.2.3
micronautRxVersion = 2.1.1 micronautRxVersion = 2.1.1
nodePluginVersion = 3.0.1 nodePluginVersion = 3.0.1
nodeVersion = 16.3.0 nodeVersion = 16.3.0
nshmpLibVersion = 1.3.9 nshmpLibVersion = 1.3.10
nshmpWsUtilsVersion = 0.3.11 nshmpWsUtilsVersion = 0.3.12
openApiVersion = 4.0.0 openApiVersion = 4.0.0
shadowVersion = 7.1.2 shadowVersion = 7.1.2
spotbugsVersion = 4.7.0 spotbugsVersion = 4.7.0
......
tasks.withType(JavaCompile) { tasks.withType(JavaCompile) {
doFirst { doFirst {
try { apply plugin: "com.palantir.git-version"
apply plugin: "com.palantir.git-version"
def versionFile = new File("${projectDir}/src/main/resources/version/nshmp-haz-version.json")
new File(versionFile.getParent()).mkdirs()
def versionFile = new File("${projectDir}/src/main/resources/version/nshmp-haz-version.json") try {
new File(versionFile.getParent()).mkdirs()
def details = versionDetails() def details = versionDetails()
def ciProjectUrl = System.getenv("CI_PROJECT_URL") def ciProjectUrl = System.getenv("CI_PROJECT_URL")
def branch = System.getenv("CI_COMMIT_BRANCH") def branch = System.getenv("CI_COMMIT_BRANCH")
...@@ -23,7 +24,9 @@ tasks.withType(JavaCompile) { ...@@ -23,7 +24,9 @@ tasks.withType(JavaCompile) {
def json = groovy.json.JsonOutput.toJson(versionInfo) def json = groovy.json.JsonOutput.toJson(versionInfo)
versionFile.write(groovy.json.JsonOutput.prettyPrint(json)) versionFile.write(groovy.json.JsonOutput.prettyPrint(json))
} catch (Exception e) { } catch (Exception e) {
println("Failed to create version file.") println("Failed to create version file. Writing blank file.")
println(e)
versionFile.write('{}')
} }
} }
} }
...@@ -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}" ]
......