mirror of
https://github.com/containers/buildah.git
synced 2025-07-30 04:23:09 +03:00
buildkit: add support for custom build output with --output
Allows end-users to export final build content or rootfs to external formats. By default, a local container image is created from the build result. The --output (or -o) flag allows you to override this behavior, and a specify a custom exporter. For example, custom exporters allow you to export the build artifacts as files on the local filesystem instead of a Container image, which can be useful for generating local binaries, code generation etc. The value for --output is a CSV-formatted string defining the exporter type and options. Currently, local and tar exporters are supported. The local exporter writes the resulting build files to a directory on the client side. The tar exporter is similar but writes the files as a single tarball (.tar). ```console buildah build --output type=local,dest=dir . buildah build --output type=tar,dest=rootfs.tar . buildah build -o dir . ``` Reference: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs Signed-off-by: Aditya R <arajan@redhat.com>
This commit is contained in:
@ -229,6 +229,7 @@ func (b *Builder) addManifest(ctx context.Context, manifestName string, imageSpe
|
||||
func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options CommitOptions) (string, reference.Canonical, digest.Digest, error) {
|
||||
var (
|
||||
imgID string
|
||||
src types.ImageReference
|
||||
)
|
||||
|
||||
// If we weren't given a name, build a destination reference using a
|
||||
@ -300,7 +301,7 @@ func (b *Builder) Commit(ctx context.Context, dest types.ImageReference, options
|
||||
logrus.Debugf("committing image with reference %q is allowed by policy", transports.ImageName(dest))
|
||||
|
||||
// Build an image reference from which we can copy the finished image.
|
||||
src, err := b.makeImageRef(options)
|
||||
src, err = b.makeContainerImageRef(options)
|
||||
if err != nil {
|
||||
return imgID, nil, "", errors.Wrapf(err, "error computing layer digests and building metadata for container %q", b.ContainerID)
|
||||
}
|
||||
|
Reference in New Issue
Block a user