diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d992e47b84dcc5522bec33c165d7d7a704e5568d..6406e2dd889ba2e909e065691f6a03479e0e044e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -96,17 +96,25 @@ default: for arg in ${DOCKER_BUILD_ARGS}; do BUILD_ARGS="${BUILD_ARGS} --build-arg ${arg}"; done + - env_image_name="${REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest"; + - latest_image_name="${REGISTRY_IMAGE}/${CI_PROJECT_NAME}:latest"; + - sha_image_name="${REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${IMAGE_TAG}"; - | docker build \ ${BUILD_ARGS} \ --pull \ - --tag "${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${IMAGE_TAG}" \ + --tag "${env_image_name}" \ --file "${CI_PROJECT_DIR}/${DOCKERFILE}" \ "${CI_PROJECT_DIR}/."; - - docker push "${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${IMAGE_TAG}"; - - latest_image_name="${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${ENVIRONMENT}-latest"; - - docker tag "${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${IMAGE_TAG}" "${latest_image_name}"; - - docker push "${latest_image_name}"; + - docker push "${env_image_name}" + - | + docker tag "${env_image_name}" "${sha_image_name}"; + docker push "${sha_image_name}"; + - | + if [[ "${ENVIRONMENT}" != "development" ]]; then + docker tag "${env_image_name}" "${latest_image_name}"; + docker push "${latest_image_name}"; + fi - | printf " -------- @@ -115,19 +123,36 @@ default: " "${CI_PROJECT_NAME}" "${IMAGE_TAG}"; stage: build tags: - - build + - ${TAG} variables: DOCKERFILE: Dockerfile DOCKER_BUILD_ARGS: | BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11 FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11 IMAGE_TAG: ${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA} + REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE} + TAG: build #### # Stage: build #### -Build Image: +CHS Registry: + extends: + - .docker-build + variables: + DOCKER_BUILD_ARGS: | + BUILD_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11 + CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH} + CI_PROJECT_URL=${CI_PROJECT_URL} + FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11 + REGISTRY_IMAGE: ${CODE_REGISTRY_IMAGE} + TAG: build + UPSTREAM_PATH: ghsc/nshmp/nshmp-ws + +Code Registry: + before_script: + - docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} extends: - .docker-build variables: @@ -136,6 +161,8 @@ Build Image: CI_COMMIT_BRANCH=${CI_COMMIT_BRANCH} CI_PROJECT_URL=${CI_PROJECT_URL} FROM_IMAGE=${CI_REGISTRY}/devops/images/usgs/java:11 + REGISTRY_IMAGE: ${CI_REGISTRY_IMAGE} + TAG: nshmp UPSTREAM_PATH: ghsc/nshmp/nshmp-ws Build Project: @@ -171,7 +198,12 @@ YAML Lint: Trigger AWS Deployment: needs: - - Build Image + - Build Project + - CHS Registry + - Code Registry + - Markdown Lint + - Unit Tests + - YAML Lint rules: - <<: *development-env diff --git a/README.md b/README.md index 942d8dbf55b61eb3c3cf482a2cd9a9fabc447588..634322ffc92bd2a6f4a0c411cddb18ac92123436 100644 --- a/README.md +++ b/README.md @@ -57,15 +57,15 @@ cd nshmp-ws The nshmp-ws application may be run as a Docker container. ```bash -docker pull code.chs.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws +docker pull code.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws docker run \ -p <PORT>:8080 \ - code.chs.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws + code.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws # Example docker run \ -p 8080:8080 \ - code.chs.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws + code.usgs.gov:5001/ghsc/nshmp/images/nshmp-ws ``` `PORT` should be replaced with an available port that is not in use. The application diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 3a33124f4400b36fb6f41ac7aae9c8a8a797ae83..588c966b3e97bfabafc053eb96dc1aee8774136e 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -1,7 +1,6 @@ dependencies { // NSHMP - System.out.println(System.getenv("NSHMP_LIB_LOCAL")) if (System.getenv("NSHMP_LIB_LOCAL") == "true") { implementation files("../nshmp-lib/build/libs/nshmp-lib.jar") } else {