Ultimate DevSecOps Bootcamp by School of Devops: Dependency Tracker
Делаю:
2026.01.02
$ helm repo add dependency-track https://dependencytrack.github.io/helm-charts
$ helm repo update
$ export PROFILE=${USER}-minikube
$ export INGRESS_HOST=$(minikube --profile ${PROFILE} ip)
$ echo dependencytrack.$INGRESS_HOST.nip.io
$ cd ~/tmp
$ cat > deptrack.values.yaml <<EOF
ingress:
enabled: true
tls: []
annotations: {}
host: dependencytrack.$INGRESS_HOST.nip.io
frontend:
replicaCount: 1
service:
type: NodePort
apiserver:
resources:
requests:
cpu: 1
memory: 3000Mi
limits:
cpu: 2
memory: 7Gi
EOF
$ helm search repo dependency-track
NAME CHART VERSION APP VERSION DESCRIPTION
dependency-track/dependency-track 0.40.0 4.13.6 Dependency-Track is an intelligent Component An...
$ helm install \
dependency-track dependency-track/dependency-track \
--namespace dependency-track \
--create-namespace \
--values deptrack.values.yaml \
--version 0.40.0 \
--wait
// $ helm uninstall dependency-track --namespace dependency-track
$ helm list -n dependency-track
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
dependency-track dependency-track 1 2026-01-02 22:20:22.691371548 +0300 MSK deployed dependency-track-0.40.0 4.13.6
$ kubectl get pods -n dependency-track
NAME READY STATUS RESTARTS AGE
dependency-track-api-server-0 1/1 Running 0 2m22s
dependency-track-frontend-6866fc6b9b-wt9rh 1/1 Running 0 2m22s
$ kubectl get ingress -n dependency-track
NAME CLASS HOSTS ADDRESS PORTS AGE
dependency-track nginx example.com 80 33s
// Пришлось патчить HOSTS
$ kubectl patch ingress dependency-track -n dependency-track --type='json' -p='[{"op": "replace", "path": "/spec/rules/0/host", "value": "dependencytrack.'$INGRESS_HOST'.nip.io"}]'
// OK!
// admin /admin
http://dependencytrack.192.168.49.2.nip.io/
Administration -> Access Management -> Teams -> Automation
New API Key:
Also add the following permissions
- POLICY_VIOLATION_ANALYSIS
- PROJECT_CREATION_UPLOAD
- VULNERABILITY_ANALYSIS
$ kubectl get svc -n dependency-track
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dependency-track-api-server ClusterIP 10.109.140.42 <none> 8081/TCP 52m
dependency-track-frontend NodePort 10.97.167.253 <none> 8080:30298/TCP 52m
Configure Jenkins to Connect with Dependency Tracker
http://192.168.49.2:30264/manage/pluginManager/available
- OWASP Dependency-Track
http://192.168.49.2:30264/manage/configure
Dependency-Track Backend URL: http://dependency-track-api-server.dependency-track.svc.cluster.local:8081
API Key -> Add
- Kind: Secret text
- Secret: key copied from Dependency-Track earlier
- id: dep-track-api-key
Check Auto Create Projects
Test Connection
jenkinsfile после
“OSS License Checker”
stage('Generate SBOM') {
steps {
container('maven') {
sh 'mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom'
}
}
post {
success {
dependencyTrackPublisher (projectName: 'sample-spring-app',
projectVersion: '0.0.1',
artifact: 'target/bom.xml',
autoCreateProjects: true,
synchronous: true)
archiveArtifacts (
allowEmptyArchive: true,
artifacts: 'target/bom.xml',
fingerprint: true,
onlyIfSuccessful: true
)
}
}
}