Where Do Buildpacks Factor In

In the above example you used pack and a builder. A builder is an image comprised of three things

  • All of the buildpacks that are used by the builder
  • Default groups buildpacks and the order in which they run in that group
  • The base image your application is built on top of

All buildpacks in the builder can be overridden by the user.

If say you wanted to use a new version of the Paketo node-engine-cnb, you could simply download the latest release from github and override a buildpack used in the builder

pack build test-drive -p <path/to/application/root> --builder gcr.io/paketo-buildpacks/builder:base --buildpack <path/to/new/buildpack.tgz>

Currently the Paketo-Buildpacks project releases the following builders

  • gcr.io/paketo-buildpacks/builder:full-cf
  • gcr.io/paketo-buildpacks/builder:base
  • gcr.io/paketo-buildpacks/builder:tiny