The Bundler CNB provides the Bundler binary.
The buildpack installs Bundler onto the $PATH and $GEM_PATH which makes it available for subsequent buildpacks
and/or in the final running container.
The Bundler CNB provides bundler as a dependency. Downstream buildpacks can require the bundler dependency by generating a Build Plan TOML file that looks like the following:
[[requires]]
# The name of the Bundler dependency is "bundler". This value is considered
# part of the public API for the buildpack and will not change without a plan
# for deprecation.
name = "bundler"
# The Bundler buildpack supports some non-required metadata options.
[requires.metadata]
# Use `version` to request a specific version of `bundler`.
# This buildpack supports specifying a semver constraint in the form of "2.*", "2.1.*",
# or even "2.1.4".
# Optional, defaults to the latest version of `bundler` found in the `buildpack.toml` file.
version = "2.1.4"
# When `build` is true, this buildpack will ensure that `bundler` is available
# on the `$PATH` and `$GEM_PATH` for later buildpacks.
# Optional, default false.
build = true
# When `launch` is true, this buildpack will ensure that `bundler` is available
# on the `$PATH` and `$GEM_PATH` for the running application.
# Optional, default false.
launch = trueTo package this buildpack for consumption:
./scripts/package.sh --version 0.8.48This will build the buildpack for all target architectures specified in buildpack.toml (amd64 and arm64 by default) and create architecture-specific archives in the build/ directory.
To publish this buildpack to a registry:
./scripts/publish.sh \
--image-ref 348674388966.dkr.ecr.us-east-1.amazonaws.com/neeto-deploy/paketo/buildpack/bundler:0.8.48The script will automatically:
- Read target architectures from
buildpack.toml - Detect architecture-specific buildpack archives
- Publish each architecture separately
- Create and push a multi-arch manifest list
Specifying the Bundler version through buildpack.yml configuration will be
deprecated in Bundler Buildpack v1.0.0.
To migrate from using buildpack.yml please set the $BP_BUNDLER_VERSION
environment variable at build time either directly (ex. pack build my-app --env BP_BUNDLER_VERSION=2.7.*) or through a project.toml
file
$BP_BUNDLER_VERSION="2.1.4"This will replace the following structure in buildpack.yml:
bundler:
version: 2.1.4To configure the level of log output from the buildpack itself, set the
$BP_LOG_LEVEL environment variable at build time either directly (ex. pack build my-app --env BP_LOG_LEVEL=DEBUG) or through a project.toml
file
If no value is set, the default value of INFO will be used.
The options for this setting are:
INFO: (Default) log information about the progress of the build processDEBUG: log debugging information about the progress of the build process
$BP_LOG_LEVEL="DEBUG"This buildpack is currently only supported on the Paketo Bionic and Jammy stack
distributions. A pre-compiled distribution of Bundler is provided for the Paketo stacks (i.e.
io.buildpacks.stack.jammy and io.buildpacks.stacks.bionic).