Skip to content
Snippets Groups Projects

update ci-cd

2 files
+ 30
42
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 29
41
@@ -13,10 +13,17 @@ variables:
@@ -13,10 +13,17 @@ variables:
DATA_CONUS_2018A: conus-2018a
DATA_CONUS_2018A: conus-2018a
stages:
stages:
 
- assemble
- test
- test
- publish
- publish
- deploy
- deploy
 
cache:
 
key: one-key-to-rule-them-all
 
paths:
 
- build
 
- .gradle
 
####
####
# Templates:
# Templates:
# - install-aws: Install aws in a Alpine environment
# - install-aws: Install aws in a Alpine environment
@@ -61,7 +68,6 @@ stages:
@@ -61,7 +68,6 @@ stages:
cache: {}
cache: {}
image: ${CODE_REGISTRY}/ghsc/hazdev/cloud-formation/hazdev-build-runner:latest
image: ${CODE_REGISTRY}/ghsc/hazdev/cloud-formation/hazdev-build-runner:latest
dependencies:
dependencies:
retry: 2
before_script:
before_script:
- docker stack rm nshmp-netcdf
- docker stack rm nshmp-netcdf
- *static-data
- *static-data
@@ -87,6 +93,9 @@ stages:
@@ -87,6 +93,9 @@ stages:
variables:
variables:
APP_NAME: nshmp-netcdf
APP_NAME: nshmp-netcdf
STACK_NAME: nshmp-netcdf
STACK_NAME: nshmp-netcdf
 
retry:
 
max: 2
 
when: 'always'
.staging:
.staging:
only:
only:
@@ -102,41 +111,23 @@ stages:
@@ -102,41 +111,23 @@ stages:
- staging02
- staging02
####
####
# Build jar file.
# Stage: assemble
# Globals:
# (string) CI_PROJECT_NAME - The name of the project
####
####
Build Project:
extends:
- .gradle
script:
- ./gradlew --no-daemon assemble
####
Build Project:
# Run Spotless check.
####
Spotless Check:
extends:
extends:
- .gradle
- .gradle
 
stage: assemble
script:
script:
- ./gradlew --no-daemon spotlessCheck
- ./gradlew --build-cache --no-daemon assemble
 
retry:
 
max: 2
 
when: 'always'
####
####
# Run Spotbugs main.
# Stage: test
####
####
Spotbugs Main:
extends:
- .gradle
script:
- ./gradlew --no-daemon spotbugsMain
####
# Run tests.
# Globals:
# (string) JACOCO_HTML_DIR - Directory of Jacoco html reports
# (string) JUNIT_FILES - Path to all Junit html files
# (string) CI_PROJECT_NAME - The name of the project
####
Unit Tests:
Unit Tests:
stage: test
stage: test
image: gradle:jdk11
image: gradle:jdk11
@@ -154,12 +145,10 @@ Unit Tests:
@@ -154,12 +145,10 @@ Unit Tests:
- ${REPORTS_DIR}
- ${REPORTS_DIR}
reports:
reports:
junit: ${JUNIT_FILES}
junit: ${JUNIT_FILES}
 
retry:
 
max: 2
 
when: 'always'
####
# Build Docker image.
# Globals:
# IMAGE_NAME - Docker image name
####
Build Image:
Build Image:
stage: test
stage: test
image: docker:stable-git
image: docker:stable-git
@@ -176,12 +165,10 @@ Build Image:
@@ -176,12 +165,10 @@ Build Image:
--build-arg git_username="${GIT_NSHMP_USERNAME}" \
--build-arg git_username="${GIT_NSHMP_USERNAME}" \
--build-arg git_password="${GIT_NSHMP_PASSWORD}" \
--build-arg git_password="${GIT_NSHMP_PASSWORD}" \
-t local/${IMAGE_NAME} .
-t local/${IMAGE_NAME} .
 
retry:
 
max: 2
 
when: 'always'
####
# Build and publish Docker images with data from AWS S3.
# Globals:
# IMAGE_NAME - Docker image name
####
Build/Publish Data Images:
Build/Publish Data Images:
stage: publish
stage: publish
image: docker:stable-git
image: docker:stable-git
@@ -212,19 +199,20 @@ Build/Publish Data Images:
@@ -212,19 +199,20 @@ Build/Publish Data Images:
docker image rm ${INTERNAL_IMAGE_NAME};
docker image rm ${INTERNAL_IMAGE_NAME};
done
done
- rm -rf /root/.docker/config.json
- rm -rf /root/.docker/config.json
 
retry:
 
max: 2
 
when: 'always'
####
####
# Deploy to stage01
# Stage: deploy
####
####
 
Staging 01:
Staging 01:
extends:
extends:
- .deploy
- .deploy
- .staging
- .staging
- .staging01
- .staging01
####
# Deploy to stage02
####
Staging 02:
Staging 02:
extends:
extends:
- .deploy
- .deploy
Loading