diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index da74d6a8241d78244d04d9766f967d5d2a409c74..8cbae4ba31b99b6f6bbec3eab73d93bea6f7bc84 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,8 @@ variables: CI_REGISTRY_IMAGE: ${CODE_REGISTRY_IMAGE} DOCKER_DIR: docker-images DOCKER_TAR: ${DOCKER_DIR}/app.tar + GIT_NSHMP_PASSWORD: ${GITLAB_API_TOKEN} + GIT_NSHMP_USERNAME: ${GITLAB_USER_EMAIL} IMAGE_NAME_HAZ: nshmp-haz:${CI_COMMIT_REF_SLUG} IMAGE_NAME_WS: nshmp-haz-ws:${CI_COMMIT_REF_SLUG} JACOCO_HTML_DIR: build/reports/jacoco/test/html @@ -30,15 +32,6 @@ stages: DOCKERFILE="ws.Dockerfile"; IMAGE_NAME=${IMAGE_NAME_WS/:master/:latest}; INTERNAL_IMAGE_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME_WS}; - 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; .docker-build: stage: test @@ -50,11 +43,11 @@ stages: - tags@ghsc/nshmp/nshmp-haz-v2 script: - apk add git; - - *ssh-key - mkdir ${DOCKER_DIR} - | docker build \ - --build-arg ssh_private_key="${SSH_PRIVATE_KEY}" \ + --build-arg git_username="${GIT_NSHMP_USERNAME}" \ + --build-arg git_password="${GIT_NSHMP_PASSWORD}" \ -f ${DOCKERFILE} \ -t local/${IMAGE_NAME} . - docker save local/${IMAGE_NAME} > ${DOCKER_TAR} @@ -129,8 +122,6 @@ Build Project: - branches - master@ghsc/nshmp/nshmp-haz-v2 - tags@ghsc/nshmp/nshmp-haz-v2 - before_script: - - *ssh-key script: - ./gradlew assemble @@ -141,8 +132,6 @@ Spotless Check: only: - branches - master@ghsc/nshmp/nshmp-haz-v2 - before_script: - - *ssh-key script: - ./gradlew spotlessCheck; @@ -153,8 +142,6 @@ Spotbugs Main: only: - branches - master@ghsc/nshmp/nshmp-haz-v2 - before_script: - - *ssh-key script: - ./gradlew spotbugsMain; @@ -165,8 +152,6 @@ Spotbugs Test: only: - branches - master@ghsc/nshmp/nshmp-haz-v2 - before_script: - - *ssh-key script: - ./gradlew spotbugsTest; @@ -179,8 +164,6 @@ Unit Tests: - master@ghsc/nshmp/nshmp-haz-v2 - tags@ghsc/nshmp/nshmp-haz-v2 coverage: '/Total.*?([0-9]{1,3})%/' - before_script: - - *ssh-key script: - ./gradlew check - cat ${JACOCO_HTML_DIR}/index.html diff --git a/Dockerfile b/Dockerfile index 391db9442dac7f87b5d08e9832b0f68c24cf6a2e..4e67103d01725d694eac15582384302c796ac376 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,10 @@ # code.chs.usgs.gov:5001/ghsc/nshmp/images/nshmp-haz-v2; # # Build locally: -# docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-haz . +# docker build +# --build-arg git_username=<user@name.com> +# --build-arg git_password=<git-api-token> +# -t nshmp-haz . #### ARG project=nshmp-haz-v2 @@ -26,23 +29,19 @@ FROM usgs/centos:8 as builder ARG builder_workdir ARG libs_dir -ARG ssh_private_key +ARG git_username +ARG git_password -ENV LANG="en_US.UTF-8" +ENV LANG "en_US.UTF-8" +ENV GIT_NSHMP_USERNAME ${git_username} +ENV GIT_NSHMP_PASSWORD ${git_password} WORKDIR ${builder_workdir} COPY . . RUN yum install -y java-11-openjdk-devel 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 - -RUN ./gradlew --no-daemon assemble + && ./gradlew --no-daemon assemble #### # Application image: Run jar or war file. @@ -60,7 +59,7 @@ ENV CONFIG_FILE "" ENV DEBUG false ENV IML "" ENV JAVA_XMX "8g" -ENV LANG="en_US.UTF-8" +ENV LANG "en_US.UTF-8" ENV MODEL "" ENV MOUNT_MODEL false ENV NSHM_VERSION master diff --git a/build.gradle b/build.gradle index ec436c10ab34cbff3c2a03e1583001f54a0b855e..7fe810d4017838c078b1d64d07204fe3499147bd 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,7 @@ repositories { } git { - implementation("git@code.usgs.gov:ghsc/nshmp/nshmp-lib.git", { + implementation("https://code.usgs.gov/ghsc/nshmp/nshmp-lib.git", { name "nshmp-haz-dep--nshmp-lib" tag "v0.0.5" }) diff --git a/settings.gradle b/settings.gradle index 8c6e33c8ee68dc8276ffc64927078311ce08646e..2fa9c2eeb0566d599ac1c4c37dffcc70687ced22 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,3 +3,7 @@ plugins { } rootProject.name = "nshmp-haz-v2" + +git { + defaultAuthGroup "nshmp" +} diff --git a/ws.Dockerfile b/ws.Dockerfile index d3089971c3917ea900e8e96a2fc7a737a9746fd8..e886ffafd1f40a80d68b0e3fe5d65f1d134e6a1e 100644 --- a/ws.Dockerfile +++ b/ws.Dockerfile @@ -2,7 +2,12 @@ # Run hazard web services. # # Build locally: -# docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-haz-ws . +# docker build +# -f ws.Dockerfile +# --build-arg git_username=<user@name.com> +# --build-arg git_password=<git-api-token> +# -t nshmp-haz-ws . + #### ARG project=nshmp-haz-v2 @@ -16,25 +21,21 @@ ARG ws_file=${libs_dir}/${project}-ws.jar FROM usgs/centos:8 as builder ARG builder_workdir +ARG git_username +ARG git_password ARG libs_dir -ARG ssh_private_key ARG ws_file ENV LANG="en_US.UTF-8" WORKDIR ${builder_workdir} +ENV GIT_NSHMP_USERNAME ${git_username} +ENV GIT_NSHMP_PASSWORD ${git_password} COPY . . - +RUN env RUN yum install -y java-11-openjdk-devel 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 - -RUN ./gradlew --no-daemon assemble \ + && ./gradlew --no-daemon assemble \ && mv ${libs_dir}/*-all.jar ${ws_file} ####