diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4241d05536cc5cda8ef9090fe8f7557cc2970b1b..673fa9a4bb9698f0db0edaae5a91019f8c0ba758 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,8 @@ variables:
   REPORTS_DIR: build/reports
   UPSTREAM_PATH: ghsc/nshmp/nshmp-haz
 
+image: ${CI_REGISTRY}/devops/images/usgs/java:11
+
 # Do not run for merge requests
 workflow:
   rules:
@@ -62,16 +64,6 @@ default:
     ENVIRONMENT: production
 
 
-####
-# Java Templates
-####
-
-##
-# General Java setup
-##
-.java:
-  image: ${DEVOPS_REGISTRY}usgs/amazoncorretto:8
-
 ####
 # Docker Templates
 ####
@@ -80,10 +72,10 @@ default:
 # Docker in Docker
 ##
 .dind:
-  image: ${DEVOPS_REGISTRY}docker:19.03-git
+  image: ${CI_REGISTRY}/devops/images/docker:20
   services:
     - alias: docker
-      name: ${DEVOPS_REGISTRY}docker:19.03-dind
+      name: ${CI_REGISTRY}/devops/images/docker:20-dind
   variables:
     DOCKER_DRIVER: overlay2
 
@@ -122,18 +114,9 @@ default:
       docker tag "${env_image_name}" "${sha_image_name}";
       docker push "${sha_image_name}";
     - |
-      docker_latest_image="usgs/${CI_PROJECT_NAME}:latest";
-      docker_env_image="usgs/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest";
-
-      docker tag "${env_image_name}" "${docker_env_image}";
-      docker push "${docker_env_image}";
-
       if  [[ "${ENVIRONMENT}" != "development" ]]; then
         docker tag "${env_image_name}" "${latest_image_name}";
         docker push "${latest_image_name}";
-
-        docker tag "${env_image_name}" "${docker_latest_image}";
-        docker push "${docker_latest_image}";
       fi
     - |
       printf "
@@ -154,8 +137,8 @@ Build Image:
     - .docker-build
   variables:
     DOCKER_BUILD_ARGS: |
-      BUILD_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:8
-      FROM_IMAGE=${DEVOPS_REGISTRY}usgs/amazoncorretto:8
+      BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
+      FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11
     DOCKERFILE: Dockerfile
     IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
 
@@ -163,8 +146,6 @@ Build Project:
   artifacts:
     paths:
       - build
-  extends:
-    - .java
   script:
     - ./gradlew assemble
   stage: build
@@ -174,8 +155,6 @@ Build Project:
 ####
 
 Test HazardCalc:
-  extends:
-    - .java
   needs:
     - Build Project
   script:
@@ -193,8 +172,6 @@ Unit Tests:
     reports:
       junit: ${JUNIT_FILES}
   coverage: '/Total.*?([0-9]{1,3})%/'
-  extends:
-    - .java
   needs: []
   script:
     - ./gradlew check
diff --git a/Dockerfile b/Dockerfile
index 2b9d91e77219a70e3bf802ac0663c7971af9b484..a94ed4b53ca7b4f1916b74002fcb9faba35a8900 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,8 +25,8 @@
 # OutOfMemoryError. Increase -Xmx to -Xmx16g or -Xmx24g, if available.
 ####
 
-ARG BUILD_IMAGE=usgs/amazoncorretto:8
-ARG FROM_IMAGE=usgs/amazoncorretto:8
+ARG BUILD_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
+ARG FROM_IMAGE=code.usgs.gov:5001/devops/images/usgs/java:11
 
 # Project
 ARG project=nshmp-haz