lifecycle v0.7.0
lifecycle v0.7.0
⚠️ Warning ⚠️
v0.7.0
is not spec compliant. It fails to find processes on the layer-modifiedPATH
whendirect=true
. Please usev0.7.1
instead.
Welcome to v0.7.0
, the seventh beta release of the Cloud Native Buildpack Lifecycle. This release introduces several new features as well as performance improvements and smaller lifecycle binaries.
Notice:
This release contains breaking changes which are detailed at the bottom of the release notes.
Implemented APIs
Platform API: 0.3
Buildpack API 0.2
Prerequisites
The lifecycle runs as a normal user in a series of unprivileged Linux containers. To export images and cache image layers, it requires access to a Docker daemon or Docker registry.
Install
Extract the .tgz
file and copy the lifecycle binaries into a build stack base image. The build image can then be orchestrated by a platform implementation such as the pack CLI or tekton.
Features
- New
creator
binary allows all build phases to be executed in a single container (#243, RFC) - buildpacks can use a
store.toml
file to persist specific metadata, even when the cache is cleared (#244, #256) -process-type
can be used to set the default process during export (#260, RFC)-project-metadata
flag allows users to add source metadata to image during export (#230)
Performance and Size Improvements
- lifecycle phases (excluding launcher) ship as a single multicall binary, reducing artifact size (#232, RFC)
- 4x smaller launcher binary (#247, #255)
- faster computation of layer hashes (#248)
- faster untar of cached layers during restore (#246)
- layer hashes are only calculated once (#242)
Bug Fixes
- layers generated by the buildpack are exported in lexical order (#250)
- an info message rather than a warning is printed by analyze during a first build (#251)
Breaking Changes
- Docker credential helper integration has been removed (#259, RFC)
- The platform must provide environment variables to buildpacks using
/platform/env
, rather than setting them directly in the lifecycle's environment. This brings it in compliance with the specification.
Deprecations
-image
flag onexporter
is deprecated in favor of-run-image
for clarity
Known Issues
creator
is missing-skip-restore
flag described in https://github.com/buildpacks/rfcs/blob/master/text/0026-lifecycle-all.md. This flag is necessary to disable the reuse of cached and launch layers from a previous build. (#287)