介绍一下Paketo Liberty Buildpack(附实例)

949 阅读2分钟

Paketo buildpacks将你的应用程序源代码转化为容器镜像,并轻松保持更新。

什么是构建包?

构建包是一组可执行文件,它检查你的应用程序源代码,并创建一个计划来构建你的应用程序。

Paketo buildpack实现了云原生计算基金会的buildpack规范,为从源代码构建可重复的容器镜像提供工具包和工作流程。

Paketo Liberty buildpack为工作流程提供了Open Liberty运行时间,产生了一个可以在任何地方运行的Open Container Initiative(OCI)镜像。

为什么使用Paketo Liberty构建包?

  • 你可以在不创建Docker文件的情况下构建你的应用程序!

  • 先进的缓存:Paketo buildpack使用内置的缓存来提高性能,所以你可以快速重建你的应用程序,只更新已经改变的层。

  • 材料清单:内置的软件材料清单(SBOM)支持提供对应用程序镜像内容的洞察力。

  • 最小的应用图像:图像只包含必要的内容。

  • 可复制性:通过重新运行构建,复制相同的应用图像摘要。

  • 自动检测:直接从应用源头构建图像。

  • 重新发布:通过修补图像的操作系统层,即时更新基本图像,而不需要重建你的源代码。

你需要什么?

让我们开始吧!

下面的例子使用Open Liberty启动程序作为应用源。 下载Open Liberty启动程序:

git clone https://github.com/openliberty/guide-getting-started.git
cd guide-getting-started/start

设置一个默认的构建器:

pack config default-builder gcr.io/paketo-buildpacks/builder:base

构建该应用程序:

pack build myapp --env BP_JAVA_APP_SERVER=liberty

你的应用程序现在已经转化为一个OCI图像了!

现在呢?

有了你的OCI镜像,你可以用docker run 命令在本地运行你的应用程序:

docker run --rm -p 9080:9080 myapp

或通过使用Open Liberty运营商将你的应用程序部署到任何基于Kubernetes的平台,如红帽OpenShift

从内部的Open Liberty安装中构建你的应用程序

你可以通过使用打包的Liberty服务器从内部Open Liberty安装中构建。运行下面的命令来打包你的服务器:

bin/server package defaultServer --include=usr

然后你可以通过使用--path 参数为构建提供打包的服务器:

pack build --path <packaged-server-zip-path> --env BP_JAVA_APP_SERVER=liberty myapp

或者,你可以通过改变你的工作目录到包含wlp 目录的安装根目录,并运行以下命令,从Liberty服务器安装中构建:

pack build --env BP_JAVA_APP_SERVER=liberty myapp

了解更多: