diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04ef8a69888c007f349971ba6cb54365273c7b7b..dd7ca272726850ef97e9d41a835f1f8ef8d5b007 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,15 +1,13 @@ variables: CI_REGISTRY: ${CODE_REGISTRY} CI_REGISTRY_IMAGE: ${CODE_REGISTRY_IMAGE} - FAULT_SECTIONS: nshm-fault-sections - FAULT_SECTIONS_GIT: https://gitlab-ci-token:${CI_JOB_TOKEN}@code.usgs.gov/ghsc/nshmp/${FAULT_SECTIONS}.git - IMAGE_NAME: ${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG} DOCKER_DIR: docker-images DOCKER_TAR: ${DOCKER_DIR}/app.tar + GIT_NSHMP_PASSWORD: ${GITLAB_API_TOKEN} + GIT_NSHMP_USERNAME: ${GITLAB_USER_EMAIL} + IMAGE_NAME: ${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG} JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html JUNIT_FILES: build/test-results/test/TEST-*.xml - NSHMP_LIB: nshmp-lib - NSHMP_LIB_GIT: https://gitlab-ci-token:${CI_JOB_TOKEN}@code.usgs.gov/ghsc/nshmp/${NSHMP_LIB}.git REPORTS_DIR: build/reports stages: @@ -34,15 +32,6 @@ stages: adjust-image-names: &adjust-image-names |- IMAGE_NAME=${IMAGE_NAME/:master/:latest}; INTERNAL_IMAGE_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME}; - ssh-key: &ssh-key |- - eval $(ssh-agent -s); - mkdir -p ~/.ssh; - chmod 700 ~/.ssh; - echo "${SSH_PRIVATE_KEY}" >> ~/.ssh/id_ed25519; - chmod 0600 ~/.ssh/id_ed25519; - echo "${SSH_PRIVATE_KEY}" >> ~/.ssh/id_rsa; - chmod 0600 ~/.ssh/id_rsa; - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config; #### # Template: Deploy to Docker Swarm @@ -104,7 +93,6 @@ Build Project: - master@ghsc/nshmp/nshmp-ws - tags@ghsc/nshmp/nshmp-ws script: - - *ssh-key - ./gradlew assemble #### @@ -119,7 +107,6 @@ Spotless Check: - master@ghsc/nshmp/nshmp-ws - tags@ghsc/nshmp/nshmp-ws script: - - *ssh-key - ./gradlew spotlessCheck; #### @@ -134,7 +121,6 @@ Spotbugs Main: - master@ghsc/nshmp/nshmp-ws - tags@ghsc/nshmp/nshmp-ws script: - - *ssh-key - ./gradlew spotbugsMain; #### @@ -149,7 +135,6 @@ Spotbugs Test: - master@ghsc/nshmp/nshmp-ws - tags@ghsc/nshmp/nshmp-ws script: - - *ssh-key - ./gradlew spotbugsTest; #### @@ -170,7 +155,6 @@ Unit Tests: coverage: '/Total.*?([0-9]{1,3})%/' retry: 2 script: - - *ssh-key - ./gradlew check; - cat ${JACOCO_HTML_DIR}/index.html; artifacts: @@ -198,10 +182,13 @@ Build Image: - *adjust-image-names - rm -rf ${DOCKER_DIR} - apk add git; - - *ssh-key script: - mkdir ${DOCKER_DIR} - - docker build --build-arg ssh_private_key="${SSH_PRIVATE_KEY}" -t local/${IMAGE_NAME} . + - | + docker build \ + --build-arg git_username="${GIT_NSHMP_USERNAME}" \ + --build-arg git_password="${GIT_NSHMP_PASSWORD}" \ + -t local/${IMAGE_NAME} . - docker save local/${IMAGE_NAME} > ${DOCKER_TAR} artifacts: paths: diff --git a/Dockerfile b/Dockerfile index a3c919f8dd77ccc00989e64be41518ab348919ab..675f527068482742591338d4a026b978972bb499 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,19 +3,15 @@ # docker run -p <PORT>:8080 code.chs.usgs.gov:5001/ghsc/nshmp/nshmp-ws:latest # # Build locally: -# docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-ws . +# docker build +# --build-arg git_username=<user@name.com> +# --build-arg git_password=<git-api-token> +# -t nshmp-ws . #### -# Current project ARG project=nshmp-ws - -# Builder work dir ARG builder_workdir=/app/${project} - -# Path to libs dir ARG libs_dir=${builder_workdir}/build/libs - -# Path to jar file ARG jar_file=${libs_dir}/${project}.jar #### @@ -26,23 +22,20 @@ FROM usgs/centos:8 as builder ENV LANG="en_US.UTF-8" ARG builder_workdir -ARG libs_dir +ARG git_username +ARG git_password ARG jar_file -ARG ssh_private_key +ARG libs_dir -WORKDIR ${builder_workdir} +ENV GIT_NSHMP_USERNAME ${git_username} +ENV GIT_NSHMP_PASSWORD ${git_password} -RUN yum install -y java-11-openjdk which git \ - && eval $(ssh-agent -s) \ - && mkdir -p ~/.ssh \ - && chmod 700 ~/.ssh \ - && echo "${ssh_private_key}" >> ~/.ssh/id_rsa \ - && chmod 0600 ~/.ssh/id_rsa \ - && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config +WORKDIR ${builder_workdir} COPY . . -RUN ./gradlew --no-daemon assemble \ +RUN yum install -y java-11-openjdk which git \ + && ./gradlew --no-daemon assemble \ && mv ${libs_dir}/*-all.jar ${jar_file} #### diff --git a/build.gradle b/build.gradle index df9e79d9dfbab947a9f04bf86a03ec769f988050..fe9072d446607e7cce2d3ed9887cba5d92d0b523 100644 --- a/build.gradle +++ b/build.gradle @@ -20,9 +20,9 @@ repositories { } git { - implementation("git@code.usgs.gov:ghsc/nshmp/nshmp-lib.git", { + implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", { name "nshmp-ws-dep--nshmp-lib" - tag "v0.0.4" + tag "v0.0.5" }) } diff --git a/settings.gradle b/settings.gradle index f22ef1d9a76e05c1714672b86f6a5c79c6371d98..57fdf42952195e157b90391b8aa6b252c5803084 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,8 +4,15 @@ plugins { rootProject.name = "nshmp-ws" +def fetchFaults = properties.containsKey("faultSectionsEnv") && faultSectionsEnv == "DEV" + ? false : true + git { - fetch ("git@code.usgs.gov:ghsc/nshmp/nshm-fault-sections.git", { - tag nshmFaultSectionsTag - }) + defaultAuthGroup "nshmp" + + if (fetchFaults) { + fetch ("https://code.usgs.gov/ghsc/nshmp/nshm-fault-sections.git", { + tag nshmFaultSectionsTag + }) + } }