build: add nvd api key to improve build speed

main
Fadhli Azhari 2026-04-28 12:52:45 +08:00
parent 3720caad62
commit 41f4d3e1fe
2 changed files with 11 additions and 9 deletions

View File

@ -4,17 +4,18 @@
# Contains: Java 21, Maven 3.9.9, common dependencies, OWASP NVD database. # Contains: Java 21, Maven 3.9.9, common dependencies, OWASP NVD database.
# #
# Build: # Build:
# docker build -t 192.168.1.72/kollect-tools/java-builder:latest ci/java-builder/ # docker build -t 192.168.1.72/kollect-tools/ci/java-builder:latest ci/java-builder/
# #
# Usage in CI: # Usage in CI:
# container: # container:
# image: 192.168.1.72/kollect-tools/java-builder:latest # image: 192.168.1.72/kollect-tools/ci/java-builder:latest
ARG JAVA_VERSION=21 ARG JAVA_VERSION=25
FROM eclipse-temurin:${JAVA_VERSION}-jdk-jammy FROM eclipse-temurin:${JAVA_VERSION}-jdk-jammy
ARG MAVEN_VERSION=3.9.14 ARG MAVEN_VERSION=3.9.14
ARG OWASP_DC_VERSION=12.1.0 ARG OWASP_DC_VERSION=12.1.1
ARG NVD_API_KEY=""
# ───────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────
# System dependencies # System dependencies
# ───────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────
@ -59,6 +60,7 @@ ENV OWASP_DATA_DIR=/opt/owasp/dependency-check-data
RUN mkdir -p "${OWASP_DATA_DIR}" \ RUN mkdir -p "${OWASP_DATA_DIR}" \
&& mvn org.owasp:dependency-check-maven:${OWASP_DC_VERSION}:update-only \ && mvn org.owasp:dependency-check-maven:${OWASP_DC_VERSION}:update-only \
-DdataDirectory="${OWASP_DATA_DIR}" \ -DdataDirectory="${OWASP_DATA_DIR}" \
${NVD_API_KEY:+-DnvdApiKey="${NVD_API_KEY}"} \
-q || true -q || true
# ───────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────

View File

@ -15,8 +15,8 @@ Pre-baked build environment for KollectAI-ETL backend and plugin CI jobs.
## Build ## Build
```bash ```bash
docker build -t 192.168.1.72/kollect-tools/java-builder:latest ci/java-builder/ docker build -t 192.168.1.72/kollect-tools/ci/java-builder:latest ci/java-builder/
docker push 192.168.1.72/kollect-tools/java-builder:latest docker push 192.168.1.72/kollect-tools/ci/java-builder:latest
``` ```
### Build args ### Build args
@ -35,7 +35,7 @@ jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: 192.168.1.72/kollect-tools/java-builder:latest image: 192.168.1.72/kollect-tools/ci/java-builder:latest
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
- run: ./mvnw -f backend/etl/pom.xml test -Dgroups=unit -q - run: ./mvnw -f backend/etl/pom.xml test -Dgroups=unit -q
@ -46,8 +46,8 @@ jobs:
Rebuild weekly to keep the OWASP NVD database fresh: Rebuild weekly to keep the OWASP NVD database fresh:
```bash ```bash
docker build --no-cache -t 192.168.1.72/kollect-tools/java-builder:latest ci/java-builder/ docker build --no-cache -t 192.168.1.72/kollect-tools/ci/java-builder:latest ci/java-builder/
docker push 192.168.1.72/kollect-tools/java-builder:latest docker push 192.168.1.72/kollect-tools/ci/java-builder:latest
``` ```
When `pom.xml` files change (new dependencies), rebuild to update the cached deps layer. When `pom.xml` files change (new dependencies), rebuild to update the cached deps layer.