azuredevops
azuredevops copied to clipboard
Question regarding easy caching approach
Hi,
obviously loading the whole NVD database for every pipe run is a bad idea. So I thought how to improve it without requiring too much effort or even costs for hosting etc.
Then I came across the --data CLI argument. Using that, we could easily use Azure DevOps Cache task to cache/restore the data.
But I'm wondering if that is a valid approach, as the description for the argument says: "This option should generally not be set." Also that approach is suggested nowhere.
Anyway, I started to implement it like this, but unfortunately I'm unable to test it currently due to some issues on NVD API side of things (HTTP 503).
Any idea if that should work or not at all or if there is any reason why it should not be done like this?
steps:
- task: Cache@2
displayName: ODC NVD Database Cache
inputs:
key: 'ODCNVD | "$(Agent.OS)"'
path: $(Pipeline.Workspace)/odc/data
- task: dependency-check-build-task@6
displayName: 'OWASP Dependency Check'
continueOnError: ${{ parameters.warningOnly }}
inputs:
projectName: ${{ parameters.projectName }}
scanPath: ${{ parameters.scanPath }}
format: ${{ parameters.format }}
enableVerbose: ${{ parameters.verbose }}
failOnCVSS: ${{ parameters.cvssThreshold }}
warnOnCVSSViolation: ${{ parameters.warningOnly }}
additionalArguments: --nvdApiKey <secret> --data $(Pipeline.Workspace)/odc/data ${{ parameters.additionalArguments }}