Skip to main content

Build apps with buildpacks and Dagger

Project description

bpcli

Uses Dagger Python SDK to build an app with buildpacks and pushes the built image to a registry.

bpcli calls the Cloud Native Buildpacks lifecycle commands from within a builder container to build or rebase images.

It does not rely on the Pack CLI.

Also bpcli does not require Docker, if a buildkit daemon is available. This has currently been tested with Podman.

Install

pip install bpcli

Usage

Build

Usage: bpcli build [OPTIONS] IMAGE

  Generate app image from source code using the provided image name.

Options:
  --builder TEXT             Builder image  [default:
                             paketobuildpacks/builder:base]
  --path TEXT                Path to app dir  [default: .]
  --log-level TEXT           Log level  [default: info]
  --docker-config-json TEXT  Path to docker config json file with registry
                             credentials
  --env TEXT                 Set an environment variable
  --help                     Show this message and exit.

Examples

bpcli build --path=/path/to/your/go/app <your image name>

Build a PHP application using the paketo full builder, with debug logs, registry authentication and report containing the image tag and digest:

bpcli build \
  --path=/path/to/your/php/app \
  --builder=paketobuildpacks/builder:full \
  --log-level=debug foo/bar \
  --docker-config-json=$HOME/.docker/config.json > report.toml

Adding environment variables:

bpcli build --path=/path/to/your/app foo/bar --env FOO=bar --env BAR=foo

Rebase

Usage: bpcli rebase [OPTIONS] IMAGE

  Rebase app image.

Options:
  --builder TEXT             Builder image  [default:
                             paketobuildpacks/builder:base]
  --log-level TEXT           Log level  [default: info]
  --docker-config-json TEXT  Path to docker config json file with registry
                             credentials
  --help                     Show this message and exit.

Example

bpcli rebase --log-level=debug --docker-config-json=$HOME/.docker/config.json foo/bar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bpcli-0.3.0.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

bpcli-0.3.0-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page