• Stars
    star
    13,478
  • Rank 2,237 (Top 0.05 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ— Build container images for your Java applications.

stable Maven Central Gradle Plugin Portal Build Status Build Status Build Status SLSA 3 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.

Jib works well with Google Cloud Build. For details, see how to use Jib on Google Cloud Build.

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 an OpenJDK base image, but you can also configure a custom 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.

Need Help?

A lot of questions are already answered!

For usage questions, please ask them on Stack Overflow.

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.

Disclaimer

This is not an officially supported Google product.

More Repositories

1

distroless

๐Ÿฅ‘ Language focused docker images, minus the operating system.
Starlark
18,095
star
2

skaffold

Easy and Repeatable Kubernetes Development
Go
14,827
star
3

kaniko

Build Container Images In Kubernetes
Go
14,181
star
4

container-diff

container-diff: Diff your Docker containers
Go
3,749
star
5

container-structure-test

validate the structure of your container images
Go
2,270
star
6

kpt

Automate Kubernetes Configuration Editing
Go
1,509
star
7

base-images-docker

Base images for Google Docker containers.
Starlark
418
star
8

kpt-config-sync

Config Sync - used to sync Git, OCI and Helm charts to your clusters.
Go
228
star
9

kubehost

Expose web services directly on GKE nodes during development.
Shell
115
star
10

jib-extensions

Java
115
star
11

container-debug-support

Language-runtime support files for in-container debugging
Go
93
star
12

kpt-functions-catalog

Curated catalog of generally useful kpt functions
TypeScript
85
star
13

minikube-build-tools-for-java

Minikube lifecycle management tools for Gradle and Maven.
Java
57
star
14

google-container-tools-intellij

Plugin to support Kubernetes development in the IntelliJ family of IDEs - in development
Kotlin
56
star
15

kpt-functions-sdk

TypeScript
53
star
16

kpt-backstage-plugins

TypeScript
50
star
17

kit

Integration Testing for your Kubernetes apps
42
star
18

rules_distroless

Starlark
30
star
19

gcp-auth-webhook

A Kubernetes webhook for automated GCP authentication.
Go
18
star
20

kpt-resource-group

Go
8
star
21

kpt-samples

kpt project samples
7
star
22

.allstar

6
star
23

consolidate-gradle-plugin

Java
2
star
24

.github

1
star
25

minikube-image-benchmark

Go
1
star