diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a75e4873d6b33a1a7f067bab9fa466cd1623a061..871d4f194ab19e8646f305e226632c8a2a11e1f9 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: ${CI_PROJECT_NAME}:${CI_COMMIT_REF_SLUG} JACOCO_HTML_DIR: ${REPORTS_DIR}/jacoco/test/html JUNIT_FILES: build/test-results/test/TEST-*.xml @@ -20,7 +22,6 @@ stages: # - install-aws: Install aws in a Alpine environment # - nshmp-lib: Download nshmp-lib repo # - static-data: Array of all static data in AWS s3 -# - ssh-key: Add ssh key #### .templates: install-aws: &install-aws |- @@ -35,15 +36,6 @@ stages: STATIC_DATA=" ${DATA_CONUS_2018A} "; - 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: Devlopment tags @@ -62,8 +54,6 @@ stages: only: - branches - master@ghsc/nshmp/nshmp-netcdf - before_script: - - *ssh-key #### # Template: Deploy to Docker Swarm @@ -125,7 +115,7 @@ Build Project: extends: - .gradle script: - - ./gradlew --no-daemon assemble; + - ./gradlew --no-daemon assemble #### # Run Spotless check. @@ -134,7 +124,7 @@ Spotless Check: extends: - .gradle script: - - ./gradlew --no-daemon spotlessCheck; + - ./gradlew --no-daemon spotlessCheck #### # Run Spotbugs main. @@ -143,7 +133,7 @@ Spotbugs Main: extends: - .gradle script: - - ./gradlew --no-daemon spotbugsMain; + - ./gradlew --no-daemon spotbugsMain #### # Run tests. @@ -161,11 +151,9 @@ Unit Tests: - master@ghsc/nshmp/nshmp-netcdf - tags@ghsc/nshmp/nshmp-netcdf coverage: '/Total.*?([0-9]{1,3})%/' - before_script: - - *ssh-key script: - - ./gradlew --no-daemon check; - - cat ${JACOCO_HTML_DIR}/index.html; + - ./gradlew --no-daemon check + - cat ${JACOCO_HTML_DIR}/index.html artifacts: paths: - ${REPORTS_DIR} @@ -187,9 +175,12 @@ Build Image: - tags@ghsc/nshmp/nshmp-netcdf before_script: - *install-aws - - *ssh-key script: - - 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} . #### # Build and publish Docker images with data from AWS S3. @@ -206,7 +197,6 @@ Build/Publish Data Images: before_script: - *install-aws - *static-data - - *ssh-key - mkdir ${DOCKER_DIR} script: - echo "${CHS_PASSWORD}" | docker login --username ${CHS_USERNAME} --password-stdin ${CODE_REGISTRY} @@ -219,7 +209,8 @@ Build/Publish Data Images: DATA/${data}.nc; docker build \ --build-arg netcdf_file="DATA/${data}.nc" \ - --build-arg ssh_private_key="${SSH_PRIVATE_KEY}" \ + --build-arg git_username="${GIT_NSHMP_USERNAME}" \ + --build-arg git_password="${GIT_NSHMP_PASSWORD}" \ -t ${INTERNAL_IMAGE_NAME} .; rm DATA/${data}.nc docker push ${INTERNAL_IMAGE_NAME}; diff --git a/Dockerfile b/Dockerfile index 3490010eb96811b8c12a05c7c9f53f421fb686da..8e15d195b7bb7738bd701b5f3cc1f9a0600a64d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,14 @@ #### # Build locally: -# docker build --build-arg ssh_private_key="$(cat ~/.ssh/id_rsa)" -t nshmp-netcdf . +# docker build +# --build-arg git_username=<user@name.com> +# --build-arg git_password=<git-api-token> +# -t nshmp-netcdf . #### -# Current project ARG project=nshmp-netcdf - -# Builder work dir ARG workdir=/app/${project} - -# Path to libs dir ARG libs_dir=${workdir}/build/libs - -# Path to jar file ARG jar_file=${libs_dir}/${project}.jar #### @@ -22,20 +18,18 @@ FROM usgs/centos:8 as builder ENV LANG="en_US.UTF-8" -ARG workdir +ARG git_username +ARG git_password ARG libs_dir ARG jar_file -ARG ssh_private_key +ARG workdir + +ENV GIT_NSHMP_USERNAME ${git_username} +ENV GIT_NSHMP_PASSWORD ${git_password} WORKDIR ${workdir} -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 +RUN yum install -y java-11-openjdk which git COPY build.gradle . COPY .git .git diff --git a/build.gradle b/build.gradle index 861d8938635a305a268998156d1dd55cf8180077..0e5d706b97dd7e0ba9d7b2d7a1e28ec245de9aae 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,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-netcdf-dep--nshmp-lib" tag "v0.0.5" }) diff --git a/settings.gradle b/settings.gradle index 88628f710615cad31ced6139dea5c722e9b2a606..b399b8b2503b39e9e119f7ccbf72337757f27c53 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,3 +3,7 @@ plugins { } rootProject.name = "nshmp-netcdf" + +git { + defaultAuthGroup "nshmp" +}