#기존의 코드
stage('check image security'){
steps{
sh """
trivy image \
--server ${TRIVY_SERVER} \
${IMAGE}:${TAG}
"""
}
}
# 수정 코드
steps {
sh '''
docker run --rm \
--network cicd-net \ #trivy 서버가 실행되고 있는 네트워크에서 실행
-v /var/run/docker.sock:/var/run/docker.sock \
aquasec/trivy:latest \
image \
--server ${TRIVY_SERVER} \
--no-progress \
${IMAGE}:${TAG}
'''
}
jenkins 파이프라인에서 trivy 서버로 바로 요청을 보낼수 없으므로
임시 client 컨테이너를 jenkins 컨테이너 안에서 실행해서
trivy 서버로 image 스캔 요청을 보낸다.
(jenkins 컨테이너의 docker.sock와 bind mount를 해준다.)
ps.




'ops > jenkins' 카테고리의 다른 글
| jenkins에 프로메테우스 메트릭 설정 - 1 (0) | 2025.12.26 |
|---|---|
| jenkins 파이프라인 usernamePassword() 사용하기 (0) | 2025.12.26 |
| docker conatainer에 bind mount, volumne mount하기 (0) | 2025.12.25 |
| java.lang.RuntimeException: java.io.IOException: No space left on device - 1 (1) | 2025.12.25 |
| jenkins 컨테이너에서 docker 사용하기 - 3 (0) | 2025.12.25 |