Paketo Buildpacks Bionic 停止支持

工程 | Scott Frederick | 2023 年 9 月 22 日 | ...

Maven 和 Gradle 的 Spring Boot 插件提供了使用云原生 Buildpacks 构建 Docker 镜像的能力。默认情况下,Spring Boot 使用 Paketo Buildpacks 项目提供的 CNB 构建器。

发生了什么变化

Paketo Buildpacks 项目已宣布不再支持基于 Ubuntu 18.04 Bionic 的构建器,转而支持基于 Ubuntu 22.04 Jammy 的构建器。有关受此更改影响的构建器的更多详细信息,请参见Paketo 公告

Spring Boot 3.1 及更早版本的 Maven 和 Gradle 插件在构建用于在 JVM 上运行应用程序的镜像时,默认使用 Bionic Base Builder,在使用 GraalVM 从本机可执行文件构建镜像时,默认使用 Bionic Tiny Builder。Paketo Jammy 构建器将从 Spring Boot 3.2 开始成为默认设置。

为了接收 buildpack 和 buildpack 安装的依赖项的定期更新,Spring Boot 3.1 及更早版本的用户应更改其构建配置以迁移到 Paketo Jammy 构建器。

2023 年 11 月 23 日更新:Paketo 团队已宣布,他们将在 2024 年 1 月删除对 Paketo Bionic 构建器的访问权限。为了使这种过渡更容易,Spring Boot 在版本 2.7.183.0.133.1.6 的维护版本中,已将默认构建器更改为 Paketo Jammy 构建器。

迁移

Maven

要在使用 Maven 的 Spring Boot 构建中使用 Paketo Jammy 构建器,应按此示例中所示配置构建器

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <image>
                        <builder>paketobuildpacks/builder-jammy-base:latest</builder>
                    </image>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

有关配置插件的更多信息,请参见 Spring Boot Maven 插件文档

Gradle

将 Gradle 与 Groovy 结合使用时,应按此示例中所示配置构建器

tasks.named("bootBuildImage") {
	builder = "paketobuildpacks/builder-jammy-base:latest"
}

将 Gradle 与 Kotlin 结合使用时,应按此示例中所示配置构建器

tasks.named<BootBuildImage>("bootBuildImage") {
	builder.set("paketobuildpacks/builder-jammy-base:latest")
}

有关配置插件的更多信息,请参见 Spring Boot Gradle 插件文档

获取 Spring 新闻邮件

通过 Spring 新闻邮件保持联系

订阅

抢占先机

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部