2016-06-20 2 views
2

Cloudbees Docker 빌드 및 게시 플러그인을 사용하여 Jenkins 인스턴스에서 Docker 이미지를 빌드하고 있습니다. 빌드가 정상적으로 작동하고 Docker Hub를 성공적으로 밀고 있습니다. 그러나 이미지가 Jenkins 노예에 붙어 공간 문제가 발생합니다.Cloudbees Docker 빌드 및 게시 플러그인을 사용할 때 Jenkins 슬레이브 포스트 빌드에서 이미지 삭제

빌드를 성공적으로 수행 한 후 이미지를 제거하고 선택하는 옵션이 있습니까? 감사.

+0

[code] (https://github.com/jenkinsci/docker-build-publish-plugin/blob/docker-build-publish-1.2.2/src/main/resources/com/cloudbees/)를보고 dockerpublish/DockerBuilder/config.jelly # L64) (1.2.2),'--rm'과 같은 빌드 플래그를 추가 할 수있는'Additional Build Arguments' 텍스트 필드가 있어야합니다. –

+0

답장을 보내 주셔서 감사합니다. 추가 빌드 인수 아래에 중간 컨테이너가 제거됩니다 (즉, 도커 빌드 --rm = true ...). 그러나 빌드 출력에서도 다음과 같은 내용이 표시됩니다. Step 41 : CMD/usr/lib/systemd/systemd ---> 9454f885701d 실행 중 ---> 0cee7a3ced47 중간 컨테이너를 제거하는 중 9454f885701d Ocee7a3ced47이 제거되지 않고 크기가 큽니다 (~ 1GB). 각 빌드. 부모 이미지를 삭제할 수 있습니까? 아니면 부모 이미지에 필요합니까? –

+0

서식에 대해 미안합니다 –

답변

0

당신이 말했듯이, Cloudbees Docker 빌드 및 게시 플러그인의 고급 섹션에서 추가 빌드 인수로 --rm을 가져야 만 해당 중간 컨테이너를 제거 할 수 있지만 빌드하고 푸시하기 위해 푸시 한 이미지는 여전히 호스트에 남아 있습니다 . 당신은 젠킨스 BUILD_NUMBER와 이미지에 태그를 지정하는 가정

docker rmi ACCOUNT/IMAGE:${BUIL_NUMBER} 

당신이 어떤 변수로 교체 할 수 있습니다,이 그 이미지를 삭제하는 것처럼 간단한 수정 쉘 명령을 빌드 단계를 추가하고 실행하는 것입니다 당신이 사용하는.

+0

추가 빌드 단계 인 경우 빌드가 실패한 경우에도 이미지가 유지되지 않습니까? –