Skip to content
πŸ— Build container images for your Java applications.
Java Other
  1. Java 99.2%
  2. Other 0.8%
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE.md (#2164) Nov 19, 2019
config/checkstyle Revert "Refactor out common test classes into new test project (#2350)… Mar 31, 2020
docs Improve FAQ (#2447) May 5, 2020
examples Update docs for Jib 2.4.0 release (#2520) Jun 10, 2020
gradle/wrapper Move to unified gradle build (#1835) Aug 27, 2019
jib-build-plan Build plan release v0.2.0 (#2495) May 26, 2020
jib-cli Make jib-core expose jib-build-plan (#2509) Jun 3, 2020
jib-core post-updates after jib-core 0.15.0 release (#2528) Jun 14, 2020
jib-gradle-plugin-extension-api Delete settings.gradle (#2501) May 28, 2020
jib-gradle-plugin Update docs for Jib 2.4.0 release (#2520) Jun 10, 2020
jib-maven-plugin-extension-api Maven extension release v0.3.0 (#2498) May 27, 2020
jib-maven-plugin Update docs for Jib 2.4.0 release (#2520) Jun 10, 2020
jib-plugins-common Add project dependencies in a separate layer for WAR projects (#2502) Jun 9, 2020
jib-plugins-extension-common Extension common release v0.2.0 (#2476) May 19, 2020
kokoro Add Gradle plugin release script (#2315) Mar 4, 2020
logo Adds logo with no text and small square icons. (#1295) Dec 5, 2018
proposals Update Build Plan API to accept file ownership in layers (#2494) May 26, 2020
.gitattributes Upgrade / add Gradle wrappers (#1095) Oct 5, 2018
.gitignore Clean up .gitignore (#2354) Mar 24, 2020
.travis.yml Minor cleanup (#2511) Jun 4, 2020
CODE_OF_CONDUCT.md code of conduct (#533) Jul 10, 2018
CONTRIBUTING.md Update docs for Jib 2.4.0 release (#2520) Jun 10, 2020
LICENSE Initialize repository with README, LICENSE and CONTRIBUTING Jul 24, 2017
README.md Import Cram as Jib CLI (#2235) Mar 20, 2020
STYLE_GUIDE.md Add note in style guide about jib-core api (#2127) Nov 6, 2019
build.gradle Make jib-core expose jib-build-plan (#2509) Jun 3, 2020
gradlew Move to unified gradle build (#1835) Aug 27, 2019
gradlew.bat Move to unified gradle build (#1835) Aug 27, 2019
settings.gradle Set up sub-project for Gradle plugin extension and define extension A… Apr 16, 2020

README.md

stable Maven Central Gradle Plugin Portal Build Status Build Status Build Status Gitter version

Jib

Jib - Containerize your Java applications.

β˜‘οΈ Jib User Survey
What do you like best about Jib? What needs to be improved? Please tell us by taking a one-minute survey. Your responses will help us understand Jib usage and allow us to serve our customers (you!) better.

What is Jib?

Jib builds optimized Docker and OCI images for your Java applications without a Docker daemon - and without deep mastery of Docker best-practices. It is available as plugins for Maven and Gradle and as a Java library.

Maven: See documentation for jib-maven-plugin.
Gradle: See documentation for jib-gradle-plugin.
Jib Core: A general-purpose container-building library for Java.
Jib CLI: A command-line interface for building images that uses Jib Core.

For more information, check out the official blog post or watch this talk (slides).

Goals

  • Fast - Deploy your changes fast. Jib separates your application into multiple layers, splitting dependencies from classes. Now you don’t have to wait for Docker to rebuild your entire Java application - just deploy the layers that changed.

  • Reproducible - Rebuilding your container image with the same contents always generates the same image. Never trigger an unnecessary update again.

  • Daemonless - Reduce your CLI dependencies. Build your Docker image from within Maven or Gradle and push to any registry of your choice. No more writing Dockerfiles and calling docker build/push.

Quickstart

Examples

The examples directory includes the following examples (and more).

How Jib Works

Whereas traditionally a Java application is built as a single image layer with the application JAR, Jib's build strategy separates the Java application into multiple layers for more granular incremental builds. When you change your code, only your changes are rebuilt, not your entire application. These layers, by default, are layered on top of a distroless base image. For more information, check out the official blog post or watch this talk (slides).

See also rules_docker for a similar existing container image build tool for the Bazel build system.

Frequently Asked Questions (FAQ)

See the Frequently Asked Questions (FAQ) page.

Privacy

See the Privacy page.

Get involved with the community

We welcome contributions! Here's how you can contribute:

Make sure to follow the Code of Conduct when contributing so we can foster an open and welcoming community.

You can’t perform that action at this time.