Releases: GoogleContainerTools/jib
Releases · GoogleContainerTools/jib
jib-gradle-plugin v2.1.0
Major Changes
- Additionally reads credentials from
~/.docker/.dockerconfigjson
and legacy Docker config (~/.docker/.dockercfg
). Also searches for$HOME/.docker/*
(in addition to currentSystem.get("user.home")/.docker/*
). This may help retrieve credentials, for example, on Kubernetes. - New skaffold configuration options that modify how jib's build config is presented to skaffold. See changelog for more details.
- Fixed authentication failure with error
server did not return 'WWW-Authenticate: Bearer' header
in certain cases (for example, on OpenShift). - Fixed an issue where using local Docker images (by
docker://...
) on Windows caused an error. - Fixed build failures with Skaffold when the Gradle Java Platform plugin is applied.
- For Spring Boot projects using
containerizingMode = 'packaged'
, Jib now overridesarchiveClassifier
of thejar
task only when safe and necessary. - Fixed an issue where user-configured task dependencies for the Jib task is overwritten and thus ineffective.
See CHANGELOG.md for more details.
jib-core v0.13.1
Major Changes
- Fixed authentication failure with error
server did not return 'WWW-Authenticate: Bearer' header
in certain cases (for example, on OpenShift). - Fixed an issue where using local Docker images (by
docker://...
) on Windows caused an error.
See CHANGELOG.md for more details.
jib-maven-plugin v2.0.0
Major Changes
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
- Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
- Now
<containerizingMode>packaged
works as intended with Spring Boot projects that generate a fat JAR. - Removed deprecated
<extraDirectory>
configuration in favor of<extraDirectories>
. - Removed deprecated
<container><useCurrentTimestamp>
configuration in favor of<container><creationTime>
withUSE_CURRENT_TIMESTAMP
. - The default base image cache location has been changed on MacOS and Windows.
- MacOS (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/
to$XDG_CACHE_HOME/Google/Jib/
- MacOS (
$XDG_CACHE_HOME
not defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/
to$HOME/Library/Caches/Google/Jib/
- Windows (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\
to$XDG_CACHE_HOME\Google\Jib\Cache\
- Windows (
$XDG_CACHE_HOME
not defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\
to%LOCALAPPDATA%\Google\Jib\Cache\
- Initial builds will be slower until the cache is repopulated, unless you manually move the cache from the old location to the new location
- MacOS (
- Added json output file for image metadata after a build is complete. Writes to
target/jib-image.json
by default, configurable with<outputPaths><imageJson>
. - Fixed
<extraDirectories><permissions>
being ignored if<paths>
are not explicitly defined. jib:buildTar
with<container><format>OCI
now builds a correctly formatted OCI archive.- Now
<containerizingMode>packaged
correctly identifies the packaged JAR generated at a non-default location when configured with the Maven Jar Plugin's<classifier>
and<outputDirectory>
. - When giving registry credentials in
settings.xml
, specifying port in<server><id>
is no longer required. - Fixed an issue where configuring the
<warName>
property of the Maven WAR plugin fails the build.
See CHANGELOG.md for more details.
jib-gradle-plugin v2.0.0
Major Changes
- Requires Gradle 5.1 or newer (up from 4.9).
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
- Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
- Now
jib.containerizingMode='packaged'
works as intended with Spring Boot projects that generate a fat JAR. - Removed
jibDockerBuild.dockerClient
in favor ofjib.dockerClient
. - Removed deprecated
jib.extraDirectory
configuration in favor ofjib.extraDirectories
. - Removed deprecated
jib.container.useCurrentTimestamp
configuration in favor ofjib.container.creationTime
withUSE_CURRENT_TIMESTAMP
. - The default base image cache location has been changed on MacOS and Windows.
- MacOS (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/
to$XDG_CACHE_HOME/Google/Jib/
- MacOS (
$XDG_CACHE_HOME
not defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/
to$HOME/Library/Caches/Google/Jib/
- Windows (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\
to$XDG_CACHE_HOME\Google\Jib\Cache\
- Windows (
$XDG_CACHE_HOME
not defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\
to%LOCALAPPDATA%\Google\Jib\Cache\
- Initial builds will be slower until the cache is repopulated, unless you manually move the cache from the old location to the new location
- MacOS (
- Added json output file for image metadata after a build is complete. Writes to
build/jib-image.json
by default, configurable withjib.outputPaths.imageJson
. jibBuildTar
withjib.container.format='OCI'
now builds a correctly formatted OCI archive.
See CHANGELOG.md for more details.
jib-core v0.13.0
Major Changes
- New method:
JibContainerBuilder#describeContainer
which returns new class:JibContainerDescription
, containing a selection of information used for the Jib build. - Each local base image layer is pushed immediately after being compressed, rather than waiting for all layers to finish compressing before starting to push.
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
Containerizer.DEFAULT_BASE_CACHE_DIRECTORY
has been changed on MacOS and Windows.- MacOS (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/
to$XDG_CACHE_HOME/Google/Jib/
- MacOS (
$XDG_CACHE_HOME
not defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/
to$HOME/Library/Caches/Google/Jib/
- Windows (
$XDG_CACHE_HOME
defined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\
to$XDG_CACHE_HOME\Google\Jib\Cache\
- Windows (
$XDG_CACHE_HOME
not defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\
to%LOCALAPPDATA%\Google\Jib\Cache\
- MacOS (
Containerizer#setAllowInsecureRegistries(boolean)
and thesendCredentialsOverHttp
system property are now effective for authentication service server connections.- Fixed inefficient communications when interacting with insecure registries and servers (when
Containerizer#setAllowInsecureRegistries(boolean)
is set). - Building a tarball with
OCI
format now builds a correctly formatted OCI archive. - Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
See CHANGELOG.md for more details.
jib-maven-plugin v1.8.0
Major Changes
<allowInsecureRegistries>
and thesendCredentialsOverHttp
system property are now effective for authentication service server connections.- Fixed reporting wrong module name when
skaffold init
is run on multi-module projects. - Optimized building to a registry with local base images.
- Fixed inefficient communications when interacting with insecure registries and servers (when
<allowInsecureRegistries>
is set).
See CHANGELOG.md for more details.
jib-gradle-plugin v1.8.0
Major Changes
- Requires Gradle 4.9 or newer (up from 4.6).
allowInsecureRegistries
and thesendCredentialsOverHttp
system property are now effective for authentication service server connections.- Fixed reporting parent build file when
skaffold init
is run on multi-module projects. - Optimized building to a registry with local base images.
- Now correctly uses the
war
task if it is enabled and thebootWar
task is disabled for Spring WAR projects. - Fixed inefficient communications when interacting with insecure registries and servers (when
allowInsecureRegistries
is set).
See CHANGELOG.md for more details.
jib-maven-plugin v1.7.0
Major Changes
- Main class inference support for Java 13/14.
- The base image manifest is no longer pulled from the registry if a digest is provided and the manifest is already cached.
<outputPaths>
object for configuration output file locations<outputPaths><tar>
configures output path ofjib:buildTar
(target/jib-image.tar
by default)<outputPaths><digest>
configures the output path of the image digest (target/jib-image.digest
by default)<outputPaths><imageId>
configures output path of the image id (target/jib-image.id
by default)
- Fixed additional tags being ignored when building to a tarball.
- Local base image layers are now processed in parallel, speeding up builds using large local base images.
- Docker daemon base images are now cached more effectively, speeding up builds using
docker://
base images. - Fixed an issue for WAR projects where Jib used an intermediate exploded WAR directory instead of exploding the final WAR file.
- Fixed
tar://
base image failing if tar does not contain explicit directory entries. - Fixed temporary directory cleanup during builds using local base images.
See CHANGELOG.md for more details.
jib-gradle-plugin v1.7.0
Major Changes
- Main class inference support for Java 13/14.
- The base image manifest is no longer pulled from the registry if a digest is provided and the manifest is already cached.
jib.outputPaths
object for configuration output file locationsjib.outputPaths.tar
configures output path ofjibBuildTar
(build/jib-image.tar
by default)jib.outputPaths.digest
configures the output path of the image digest (build/jib-image.digest
by default)jib.outputPaths.imageId
configures output path of the image id (build/jib-image.id
by default)
- Fixed additional tags being ignored when building to a tarball.
- Local base image layers are now processed in parallel, speeding up builds using large local base images.
- Docker daemon base images are now cached more effectively, speeding up builds using
docker://
base images. - Fixed
tar://
base image failing if tar does not contain explicit directory entries. - Fixed temporary directory cleanup during builds using local base images.
See CHANGELOG.md for more details.
jib-core v0.12.0
Major Changes
- Main class inference support for Java 13/14.
- The base image manifest is no longer pulled from the registry if a digest is provided and the manifest is already cached.
- Fixed additional tags being ignored when building to a tarball.
- Local base image layers are now processed in parallel, speeding up builds using large local base images.
- Docker daemon base images are now cached more effectively, speeding up builds using
DockerDaemonImage
base images. - Fixed
TarImage
base image failing if tar does not contain explicit directory entries. - Fixed temporary directory cleanup during builds using local base images.
- Now ignores
jib.alwaysCacheBaseImage
system property. UseContainerizer#setAlwaysCacheBaseImage(boolean)
instead. Containerizer#setAlwaysCacheBaseImage(boolean)
controls the optimization to skip downloading base image layers that exist in a target registry.
See CHANGELOG.md for more details.