위키득계정 ↗
기술

Jib

주요 대상
Java 응용
통합 방식
Maven Gradle Java 라이브러리
이미지 형식
Docker와 OCI
빌드 조건
Docker 데몬 불필요
Jib은 Java 응용을 Docker 또는 OCI 컨테이너 이미지로 만드는 도구다. Maven과 Gradle 플러그인 및 Java 라이브러리로 제공하며 Docker 데몬이나 별도의 Dockerfile 없이 이미지를 구성하고 저장소로 보낼 수 있다.

Java 빌드 과정과 통합하기

Maven이나 Gradle에서 이미지를 만들고 레지스트리에 전달하는 흐름을 연결한다. 일반적인 컨테이너 생성 기능을 제공하는 Jib Core와 이를 사용하는 명령행 도구도 있다. 응용의 빌드 과정에 이미지 구성을 포함하므로 별도 Docker 빌드 호출이 필수인 방식과 다르다.

의존성과 클래스를 나누는 레이어

응용 전체를 하나의 파일 레이어에 넣는 대신 의존성과 클래스 등을 나누어 이미지 레이어를 구성한다. 코드가 바뀌면 관련 레이어를 다시 만들고 나머지를 재사용하는 방향이다. 변경된 코드와 변경되지 않은 의존성을 구분해 빌드와 전송의 반복 비용을 줄인다.

기반 이미지와 재현성

기본 기반 이미지 외에 사용자 지정 기반 이미지를 선택할 수 있다. 같은 내용으로 다시 빌드하면 같은 이미지를 생성하는 재현성을 지향한다. 이미지 내용이 재현 가능하다는 성질과 그 기반 이미지 및 응용의 기능이나 보안 상태를 검증하는 일은 별개다.

관련 문서

Ko 컨테이너 빌드 / BuildKit / Java / Maven / Gradle / 컨테이너