A reference implementation of the Cloud Native Buildpacks specification.
Lifecycle Version | Platform APIs | Buildpack APIs |
---|---|---|
0.9.x | 0.3, 0.4 | 0.2, 0.3, 0.4 |
0.8.x | 0.3 | 0.2 |
0.7.x | 0.2 | 0.2 |
0.6.x | 0.2 | 0.2 |
Either:
detector
- Chooses buildpacks (via/bin/detect
) and produces a build plan.analyzer
- Restores layer metadata from the previous image and from the cache.restorer
- Restores cached layers.builder
- Executes buildpacks (via/bin/build
).exporter
- Creates an image and caches layers.
Or:
creator
- Runs the five phases listed above in order.
launcher
- Invokes a chosen process.
rebaser
- Creates an image from a previous image with updated base layers.
To test, build, and package binaries into an archive, simply run:
$ make all
This will create an archive at out/lifecycle-<LIFECYCLE_VERSION>+linux.x86-64.tgz
.
LIFECYCLE_VERSION
defaults to the value returned by git describe --tags
if not on a release branch (for more information about the release process, see RELEASE. It can be changed by prepending LIFECYCLE_VERSION=<some version>
to the
make
command. For example:
$ LIFECYCLE_VERSION=1.2.3 make all
Steps can also be run individually as shown below.
Formats, vets, and tests the code.
$ make test
Builds binaries to out/linux/lifecycle/
.
$ make build
To clean the
out/
directory, runmake clean
.
Creates an archive at out/lifecycle-<LIFECYCLE_VERSION>+linux.x86-64.tgz
, using the contents of the
out/linux/lifecycle/
directory, for the given (or default) LIFECYCLE_VERSION
.
$ make package