快速导航

当您在 Amphitheatre 上部署应用程序时,该应用程序必须被组装成可部署的镜像。这就是 构建器的任务。Amphitheatre 有三种类型的构建器 - dockerfilebuildpacksimage

Dockerfile

dockerfile 构建器是默认的构建器,在没有 .amp.toml 文件中的构建设置且存在 Dockerfile 时会被调用。它在当前目录中查找 Dockerfile,并使用它来构建可部署的 镜像。如果您熟悉 Docker,您将对此选项感到熟悉。

这是最灵活的选项,但灵活性的代价是需要编写 Dockerfile 和 Docker 构建系统的相关 特性。因此,Amphitheatre 还提供了更多简化此过程的构建选项。

Buildpacks

像 Heroku 这样的平台使用了构建包(buildpack)的概念,这是一个完全在其自己的容器 中运行的构建过程,用于构建可部署的镜像。然后,这些构建包被捆绑到一个具有操作系统 的 "builder" 堆栈中,可以调用它们来构建应用程序。构建包的概念已经标准化,使用 了 Cloud Native Buildpacks。构建包使用多个测试来检测它 们是否可以构建应用程序,如果可以,然后继续运行创建镜像所需的脚本。

Paketo Buildpacks 提供了一组标准化的构建包库,其中包括 Heroku 的 Heroku20 构建包和 Amphitheatre 的构建包。如果要使用未列出的构建包,您 可以使用 .amp.toml 中的 buildpacks 设置指定其名称。

构建包的配置选项 - 比如 Heroku Nodejs 构建 包 中的 YARN_PRODUCTION - 可以通过 Docker 构建参数 进行设 置。

使用构建包时,部署过程与其他构建器相同。

Image

最后,如果您已经在仓库中拥有 Docker 镜像,并且只想部署它,您可以跳过构建过程,直 接使用 image 构建选项进行部署。