Jib(Java Image Builder)는 Google에서 개발한 오픈 소스 도구로, Java 애플리케이션을 컨테이너 이미지로 패키징하는 데 사용되는 플러그인 및 빌드 도구이다.
Docker 사용 없이 Java 애플리케이션 컨테이너를 빌드할 수 있고 컨테이너 이미지로 패키징하는 모든 단계를 빠르게 처리하는 이미지 빌더다.
스프링 부트와 함께 Jib를 사용하면 Java 애플리케이션을 빌드하고 Docker 이미지를 생성하는 과정을 단순화하고, 개발자와 DevOps 팀에게 편의성을 제공한다.
Jib는 Docker 데몬을 필요로하지 않고 직접 Java 애플리케이션을 컨테이너 이미지로 패키징할 수 있다. 따라서 Docker가 설치되지 않은 환경에서도 사용할 수 있다.
Jib은 이전 빌드 결과와 변경된 파일만을 사용하여 빠르게 이미지를 생성할 수 있다. 이로써 매번 전체 이미지를 다시 빌드하지 않아도 된다.
멀티 모듈 프로젝트의 경우 모든 모듈에 대한 이미지를 별도로 빌드하고 업로드할 수 있다.
Jib는 이미지를 여러 레이어로 나누어 캐시와 배포 효율을 향상시킨다. 이전 레이어가 변경되지 않으면 다시 빌드하지 않는다.
Maven 및 Gradle 빌드 도구용 플러그인으로 사용할 수 있다. 개발자는 프로젝트의 빌드 스크립트에 Jib 플러그인을 추가하여 사용할 수 있다.
Jib는 Dockerfile을 작성할 필요가 없다. 대신 설정 파일에서 이미지 이름 및 태그를 지정하고 이미지에 레이블을 추가할 수 있다.
다양한 컨테이너 레지스트리 (Docker Hub, Google Container Registry, Amazon ECR 등)와 통합하여 이미지를 업로드할 수 있다.