Build your very first app with buildpacks

Building an app using Cloud Native Buildpacks is as easy as 1, 2, 3…

1. Select a builder

To build an app you must first decide which builder you’re going to use. A builder includes the buildpacks that will be used as well as the environment for building your app.

When using pack, you can run pack builder suggest for a list of suggested builders.

pack builder suggest

For this guide we’re actually going to use a sample builder, cnbs/sample-builder:resolute, which is not listed as a suggested builder for good reason. It’s a sample.

2. Build your app

Now that you’ve decided on what builder to use, we can build our app. For this example we’ll use our samples(opens in a new tab) repo for simplicity.

  1. Check that the samples repo exists and if not - we clone it
ls samples || git clone https://github.com/buildpacks/samples
  1. Build the app
pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:resolute

TIP: If you don’t want to keep specifying a builder every time you build, you can set it as your default builder by running pack config default-builder <BUILDER> for example pack config default-builder cnbs/sample-builder:resolute

3. Run it

docker run --rm -p 8080:8080 sample-app

Congratulations.

The app should now be running and accessible via localhost:8080(opens in a new tab).

What about ARM apps?

Linux ARM image builds are now supported.

Linux ARM build guide

What about Windows apps?

Windows image builds are now supported.

Windows build guide