Use paketobuildpacks/builder-noble-java-tiny as the default image builder
Closes gh-42711
This commit is contained in:
@@ -161,8 +161,8 @@ class BootBuildImageIntegrationTests {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT",
|
||||
"--imageName=example/test-image-cmd", "--builder=ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1",
|
||||
"--trustBuilder", "--runImage=paketobuildpacks/run-jammy-tiny", "--createdDate=2020-07-01T12:34:56Z",
|
||||
"--imageName=example/test-image-cmd", "--builder=ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2",
|
||||
"--trustBuilder", "--runImage=paketobuildpacks/run-noble-tiny", "--createdDate=2020-07-01T12:34:56Z",
|
||||
"--applicationDirectory=/application");
|
||||
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
||||
assertThat(result.getOutput()).contains("example/test-image-cmd");
|
||||
@@ -412,9 +412,9 @@ class BootBuildImageIntegrationTests {
|
||||
void buildsImageOnLinuxArmWithImagePlatformLinuxArm() throws IOException {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
removeImages(builderImage, runImage, buildpackImage);
|
||||
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
||||
String projectName = this.gradleBuild.getProjectDir().getName();
|
||||
@@ -440,9 +440,9 @@ class BootBuildImageIntegrationTests {
|
||||
void failsWhenBuildingOnLinuxAmdWithImagePlatformLinuxArm() throws IOException {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
removeImages(builderImage, runImage, buildpackImage);
|
||||
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
|
||||
String projectName = this.gradleBuild.getProjectDir().getName();
|
||||
|
||||
@@ -4,8 +4,8 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
imagePlatform = "linux/arm64"
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
applicationDirectory = "/application"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildWorkspace {
|
||||
bind {
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
bindings = [ "${projectDir}/bindings/ca-certificates:/platform/bindings/certificates" as String ]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "spring-boot/spring-boot-test-info" ]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "file://${projectDir}/buildpack/hello-world" as String ]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "file://${projectDir}/hello-world.tgz" as String ]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "2020-07-01T12:34:56Z"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "now"
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ plugins {
|
||||
|
||||
bootBuildImage {
|
||||
imageName = "example/test-image-custom"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
||||
@@ -5,6 +5,6 @@ plugins {
|
||||
|
||||
bootBuildImage {
|
||||
imageName = "example/test-image-name"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
securityOptions = []
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ bootJar {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
network = "none"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,6 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = PullPolicy.ALWAYS
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
tags = [ "example.com/myapp:latest" ]
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
trustBuilder = true
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildWorkspace {
|
||||
volume {
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
archiveFile = bootWar.archiveFile
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
imagePlatform = "linux/arm64"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
buildCache {
|
||||
volume {
|
||||
name = "build-cache-volume"
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
environment = ["FORCE_FAILURE": "true"]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "urn:cnb:builder:example/does-not-exist:0.0.1" ]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "invalid date"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
tags = [ "example/Invalid-Tag-Name" ]
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
publish = true
|
||||
}
|
||||
|
||||
@@ -119,12 +119,12 @@ The following table summarizes the available properties and their default values
|
||||
| `builder`
|
||||
| `--builder`
|
||||
| Name of the builder image to use.
|
||||
| `paketobuildpacks/builder-jammy-java-tiny:latest`
|
||||
| `paketobuildpacks/builder-noble-java-tiny:latest`
|
||||
|
||||
| `trustBuilder`
|
||||
| `--trustBuilder`
|
||||
| Whether to treat the builder as {url-buildpacks-docs}/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders/#what-is-a-trusted-builder[trusted].
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
|
||||
| `imagePlatform`
|
||||
| `--imagePlatform`
|
||||
@@ -251,8 +251,8 @@ NOTE: The plugin detects the target Java compatibility of the project using the
|
||||
When using the default Paketo builder and buildpacks, the plugin instructs the buildpacks to install the same Java version.
|
||||
You can override this behavior as shown in the xref:packaging-oci-image.adoc#build-image.examples.builder-configuration[builder configuration] examples.
|
||||
|
||||
NOTE: The default builder `paketobuildpacks/builder-jammy-java-tiny:latest` contains a reduced set of system libraries and does not include a shell.
|
||||
Applications that require a shell to run a start script, as might be the case when the {url-gradle-docs-application-plugin}[`application` plugin] has been applied to generate a distribution zip archive, or that depend upon a system library that is not present, should override the `builder` configuration to use one that includes a shell and a broader set of system libraries, such as `paketobuildpacks/builder-jammy-base:latest` or `paketobuildpacks/builder-jammy-full:latest`.
|
||||
NOTE: The default builder `paketobuildpacks/builder-noble-java-tiny:latest` contains a reduced set of system libraries and does not include a shell.
|
||||
Applications that require a shell to run a start script, as might be the case when the {url-gradle-docs-application-plugin}[`application` plugin] has been applied to generate a distribution zip archive, or that depend upon a system library that is not present, should override the `runImage` configuration to use one that includes a shell and a broader set of system libraries, such as `paketobuildpacks/ubuntu-noble-run-base:latest`.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ class BootBuildImageTests {
|
||||
@Test
|
||||
void whenNoBuilderIsConfiguredThenRequestHasDefaultBuilder() {
|
||||
BuildRequest request = this.buildImage.createRequest();
|
||||
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-jammy-java-tiny");
|
||||
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-noble-java-tiny");
|
||||
assertThat(request.isTrustBuilder()).isTrue();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user