Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
nshmp-ws-static
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ghsc
National Seismic Hazard Model Project
nshmp-ws-static
Commits
079fb6ba
Commit
079fb6ba
authored
4 years ago
by
Clayton, Brandon Scott
Browse files
Options
Downloads
Patches
Plain Diff
update ci
parent
bbf626a7
No related branches found
No related tags found
1 merge request
!40
Update Pipelines
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.gitlab-ci.yml
+59
-99
59 additions, 99 deletions
.gitlab-ci.yml
Dockerfile
+9
-13
9 additions, 13 deletions
Dockerfile
with
68 additions
and
112 deletions
.gitlab-ci.yml
+
59
−
99
View file @
079fb6ba
...
...
@@ -10,18 +10,16 @@ variables:
# Static data in AWS S3
DATA_CONUS_2018A
:
conus-2018a
include
:
-
project
:
"
ghsc/hazdev/pipeline-build-template"
ref
:
"
1.1.3"
file
:
"
templates/library.yml"
stages
:
-
assemble
-
test
-
build
-
publish
-
deploy
cache
:
key
:
one-key-to-rule-them-all
paths
:
-
build
-
.gradle
####
# Templates:
# - install-aws: Install aws in a Alpine environment
...
...
@@ -37,20 +35,14 @@ cache:
${DATA_CONUS_2018A}
";
####
# Template: Devlopment tags
####
.dev-tags
:
tags
:
-
development
####
# Template: Common Gradle test
####
.gradle
:
extends
:
.dev-tags
stage
:
test
image
:
gradle:jdk11
extends
:
-
.tags::development
stage
:
build
image
:
usgs/java:11
only
:
-
branches
-
master@ghsc/nshmp/nshmp-netcdf
...
...
@@ -91,11 +83,8 @@ cache:
variables
:
APP_NAME
:
nshmp-netcdf
STACK_NAME
:
nshmp-netcdf
retry
:
max
:
2
when
:
'
always'
.staging
:
.
onprem-
staging
:
only
:
-
master@ghsc/nshmp/nshmp-netcdf
-
tags@ghsc/nshmp/nshmp-netcdf
...
...
@@ -109,32 +98,28 @@ cache:
-
staging02
####
# Stage:
assemble
# Stage:
build
####
Build Project
:
extends
:
-
.gradle
stage
:
assemble
stage
:
build
script
:
-
./gradlew --build-cache --no-daemon assemble
retry
:
max
:
2
when
:
'
always'
-
./gradlew assemble
####
# Stage: test
####
Build Image
:
extends
:
-
.build
variables
:
DOCKER_BUILD_ARGS
:
|
ci_job_token="${CI_JOB_TOKEN}"
Unit Tests
:
stage
:
test
image
:
gradle:jdk11
extends
:
.dev-tags
only
:
-
branches
-
master@ghsc/nshmp/nshmp-netcdf
-
tags@ghsc/nshmp/nshmp-netcdf
extends
:
-
.gradle
coverage
:
'
/Total.*?([0-9]{1,3})%/'
stage
:
build
script
:
-
./gradlew --no-daemon check
-
cat ${JACOCO_HTML_DIR}/index.html
...
...
@@ -143,68 +128,43 @@ Unit Tests:
-
${REPORTS_DIR}
reports
:
junit
:
${JUNIT_FILES}
retry
:
max
:
2
when
:
'
always'
Build Image
:
stage
:
test
image
:
docker:stable-git
extends
:
.dev-tags
only
:
-
branches
-
master@ghsc/nshmp/nshmp-netcdf
-
tags@ghsc/nshmp/nshmp-netcdf
before_script
:
-
*install-aws
script
:
-
|
docker build \
--build-arg ci_job_token="${CI_JOB_TOKEN}" \
-t local/${IMAGE_NAME} .
retry
:
max
:
2
when
:
'
always'
####
# Stage: publish
####
Build/Publish Data Images
:
stage
:
publish
image
:
docker:stable-git
extends
:
.dev-tags
only
:
-
master@ghsc/nshmp/nshmp-netcdf
-
tags@ghsc/nshmp/nshmp-netcdf
before_script
:
-
*install-aws
-
*static-data
-
mkdir ${DOCKER_DIR}
script
:
-
echo "${CHS_PASSWORD}" | docker login --username ${CHS_USERNAME} --password-stdin ${CODE_REGISTRY}
-
|
for data in ${STATIC_DATA}; do
IMAGE_NAME=${IMAGE_NAME/:*/:${data}};
INTERNAL_IMAGE_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME};
aws s3 cp --only-show-errors \
s3://nshmp-hazard-curves/${data}.nc \
DATA/${data}.nc;
docker build \
--build-arg ci_job_token="${CI_JOB_TOKEN}" \
--build-arg netcdf_file="DATA/${data}.nc" \
-t ${INTERNAL_IMAGE_NAME} .;
rm DATA/${data}.nc
docker push ${INTERNAL_IMAGE_NAME};
docker image rm ${INTERNAL_IMAGE_NAME};
done
-
rm -rf /root/.docker/config.json
retry
:
max
:
2
when
:
'
always'
# ####
# # Stage: publish
# ####
# Build/Publish Data Images:
# stage: publish
# image: docker:stable-git
# extends: .dev-tags
# only:
# - master@ghsc/nshmp/nshmp-netcdf
# - tags@ghsc/nshmp/nshmp-netcdf
# before_script:
# - *install-aws
# - *static-data
# - mkdir ${DOCKER_DIR}
# script:
# - echo "${CHS_PASSWORD}" | docker login --username ${CHS_USERNAME} --password-stdin ${CODE_REGISTRY}
# - |
# for data in ${STATIC_DATA}; do
# IMAGE_NAME=${IMAGE_NAME/:*/:${data}};
# INTERNAL_IMAGE_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME};
# aws s3 cp --only-show-errors \
# s3://nshmp-hazard-curves/${data}.nc \
# DATA/${data}.nc;
# docker build \
# --build-arg ci_job_token="${CI_JOB_TOKEN}" \
# --build-arg netcdf_file="DATA/${data}.nc" \
# -t ${INTERNAL_IMAGE_NAME} .;
# rm DATA/${data}.nc
# docker push ${INTERNAL_IMAGE_NAME};
# docker image rm ${INTERNAL_IMAGE_NAME};
# done
# - rm -rf /root/.docker/config.json
Maven
:
image
:
gradle:jdk
11
image
:
usgs/java:
11
stage
:
publish
extends
:
.dev-tags
only
:
...
...
@@ -219,11 +179,11 @@ Maven:
Staging 01
:
extends
:
-
.deploy
-
.staging
-
.
onprem-
staging
-
.staging01
Staging 02
:
extends
:
-
.deploy
-
.staging
-
.
onprem-
staging
-
.staging02
This diff is collapsed.
Click to expand it.
Dockerfile
+
9
−
13
View file @
079fb6ba
####
# Build locally:
# docker build
# --build-arg git_username=<user@name.com>
# --build-arg git_password=<git-api-token>
# --build-arg gitlab_token=<token>
# -t nshmp-netcdf .
####
ARG
BUILD_IMAGE=usgs/java:11
ARG
FROM_IMAGE=usgs/java:11
ARG
project=nshmp-netcdf
ARG
workdir=/app/${project}
ARG
libs_dir=${workdir}/build/libs
...
...
@@ -14,9 +16,7 @@ ARG jar_file=${libs_dir}/${project}.jar
####
# Build war file
####
FROM
usgs/centos:8
as
builder
ENV
LANG="en_US.UTF-8"
FROM
${BUILD_IMAGE}
as
builder
ARG
gitlab_token=null
ARG
ci_job_token=null
...
...
@@ -24,13 +24,12 @@ ARG libs_dir
ARG
jar_file
ARG
workdir
# TODO: Token needed until nshmp-lib is public
ENV
GITLAB_TOKEN ${gitlab_token}
ENV
CI_JOB_TOKEN ${ci_job_token}
WORKDIR
${workdir}
RUN
yum
install
-y
glibc-langpack-en java-11-openjdk which git
COPY
build.gradle .
COPY
.git .git
COPY
gradle gradle
...
...
@@ -46,9 +45,7 @@ RUN ./gradlew --no-daemon assemble \
####
# Run service
####
FROM
usgs/centos:8
ENV
LANG "en_US.UTF-8"
FROM
${FROM_IMAGE}
# The NetCDF file to read in
ARG
netcdf_file="src/main/resources/default.nc"
...
...
@@ -68,10 +65,9 @@ WORKDIR ${workdir}
COPY
--from=builder ${jar_file} ${project}.jar
COPY
${NETCDF_FILE} ${NETCDF_FILE}
RUN
yum
install
-y
java-11-openjdk-headless
EXPOSE
8080
ENTRYPOINT
/usr/bin/java -jar ${PROJECT}.jar \
"-Dmicronaut.server.context-path=${CONTEXT_PATH}" \
-nshm=${NSHM} \
-netcdf=${NETCDF_FILE}
EXPOSE
8080
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment