Skip to content

Commit e01fabb

Browse files
feat: cache NVD Database in 4 hour segments
1 parent e0d344d commit e01fabb

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

build/azDevOps/azure/azure-pipelines-javaspring-k8s.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ stages:
320320
functional_test_project_type: "${{ variables.functional_test_project_type }}"
321321

322322
- bash: |
323-
echo "Setting variable 'BUILD_ATTEMPT_NUMBER' with value '$(System.JobAttempt)"
323+
echo "Setting variable 'BUILD_ATTEMPT_NUMBER' with value '$(System.JobAttempt)'"
324324
echo "##vso[task.setvariable variable=BUILD_ATTEMPT_NUMBER;isOutput=true]$(System.JobAttempt)"
325325
name: build_attempt_number
326326
displayName: "Output: Set Job Attempt Output Variable"
@@ -341,7 +341,7 @@ stages:
341341
- name: Environment.ShortName
342342
value: dev
343343
- name: BUILD_ATTEMPT_NUMBER
344-
value: "$[ dependencies.Build.ApiBuild.outputs['build_attempt_number.BUILD_ATTEMPT_NUMBER'] ]"
344+
value: "$[ stageDependencies.Build.ApiBuild.outputs['build_attempt_number.BUILD_ATTEMPT_NUMBER'] ]"
345345
jobs:
346346
- deployment: AppInfraDev
347347
container: terraform_custom
@@ -568,7 +568,7 @@ stages:
568568
- name: Environment.ShortName
569569
value: prod
570570
- name: BUILD_ATTEMPT_NUMBER
571-
value: "$[ dependencies.Build.ApiBuild.outputs['build_attempt_number.BUILT_ATTEMPT_NUMBER'] ]"
571+
value: "$[ stageDependencies.Build.ApiBuild.outputs['build_attempt_number.BUILD_ATTEMPT_NUMBER'] ]"
572572
jobs:
573573
- deployment: AppInfraProd
574574
container: terraform_custom

build/azDevOps/azure/templates/steps/build/build-java.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,31 @@ steps:
2525
path: "${{ parameters.project_root_dir }}/${{ parameters.maven_cache_directory }}"
2626
displayName: Cache Maven packages (${{ parameters.project_type }})
2727

28+
- ${{ if eq(parameters.vulnerability_scan, true) }}:
29+
- task: Bash@3
30+
script: |
31+
DATE="$(date "+%F")"
32+
HOUR="$(date "+%H")"
33+
34+
# NVD Cache lasts 4 hours (240 mins) and so cache based on the hour's time
35+
# in 24 hours. E.g. 0-3 are 0, 1-4 are 1, 20-23 are 5 etc..
36+
HOUR_BY_FOUR="$(( ${HOUR} / 4 ))"
37+
38+
NVD_CACHE_FILE="${DATE}-${HOUR_BY_FOUR}"
39+
40+
echo "echoing to a file '${{ parameters.repo_root_dir }}/.nvd-cache' with value ''"
41+
echo "${NVD_CACHE_FILE}" >> ${{ parameters.repo_root_dir }}/.nvd-cache
42+
displayName: Set NVD Cache Variable
43+
44+
- task: Cache@2
45+
inputs:
46+
key: 'nvd | "$(Agent.OS)" | ${{ parameters.repo_root_dir }}/.nvd-cache'
47+
restoreKeys: |
48+
nvd | "$(Agent.OS)"
49+
nvd
50+
path: "${{ parameters.repo_root_dir }}"
51+
displayName: Cache NVD Datatbase
52+
2853
- task: Bash@3
2954
inputs:
3055
filePath: "${{ parameters.pipeline_scripts_directory }}/build-maven-install.bash"

0 commit comments

Comments
 (0)