# GoogleContainerTools/jib

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/googlecontainertools-jib).**

14,327 stars · 1,468 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/GoogleContainerTools/jib
- awesome-repositories: https://awesome-repositories.com/repository/googlecontainertools-jib.md

## Topics

`containers` `docker` `docker-registry` `gradle` `gradle-plugin` `java` `jib` `kubernetes` `maven` `maven-plugin` `microservices` `oci`

## Description

Jib is a build plugin for Maven and Gradle that packages Java applications into container images directly within the build lifecycle. By integrating into the standard build process, it eliminates the need for Dockerfiles or a local container daemon to create and store images.

The tool constructs images by organizing application artifacts into distinct filesystem layers, which improves cache efficiency and reduces data transfer during registry pushes. It communicates directly with container registries using standard protocols and supports credential helper orchestration to manage authentication for private environments.

The build process enforces reproducibility by stripping timestamps and maintaining consistent file ordering, ensuring that identical source inputs consistently produce the same image output. This approach enables container image construction in restricted environments, such as continuous integration pipelines, where a full container runtime is unavailable.

## Tags

### DevOps & Infrastructure

- [Container Build Tools](https://awesome-repositories.com/f/devops-infrastructure/container-build-tools.md) — Provides a build plugin that creates optimized container images for Java applications directly from the build process.
- [Container Image Packaging](https://awesome-repositories.com/f/devops-infrastructure/container-image-packaging.md) — Creates optimized container images for applications directly during the build process without requiring a local container daemon. ([source](https://github.com/GoogleContainerTools/jib/tree/master/docs/))
- [Java Packaging Plugins](https://awesome-repositories.com/f/devops-infrastructure/container-image-packaging/java-packaging-plugins.md) — Packages Java applications into container images as part of the standard build lifecycle to simplify cloud deployment.
- [Custom Container Images](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/custom-container-images.md) — Builds optimized container images directly from application source code without requiring a local container daemon or complex build scripts.
- [Daemonless Container Engines](https://awesome-repositories.com/f/devops-infrastructure/daemonless-container-engines.md) — Enables container image creation directly within the build process without requiring a local container daemon or runtime.
- [Layered Construction](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/image-management-tools/container-image-caching/build-layer-caching/layered-construction.md) — Organizes application artifacts into distinct filesystem layers to maximize cache efficiency and minimize data transfer during image pushes.
- [Container Registries](https://awesome-repositories.com/f/devops-infrastructure/container-registries.md) — Provides a utility that handles authentication and image pushing to remote container registries during automated build workflows.

### Security & Cryptography

- [Registry Authentication Providers](https://awesome-repositories.com/f/security-cryptography/registry-authentication-providers.md) — Configures secure credentials for container registries to ensure authorized access during automated build and deployment workflows. ([source](https://github.com/GoogleContainerTools/jib/tree/master/docs/))

### Software Engineering & Architecture

- [Reproducible Builds](https://awesome-repositories.com/f/software-engineering-architecture/reproducible-builds.md) — Enforces reproducible builds by stripping timestamps and maintaining consistent file ordering to ensure deterministic image outputs.
