builder

package module
v0.0.0-...-80bf7e7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2019 License: MIT Imports: 10 Imported by: 0

README

asciicinema example

buildkit-pack

BuildKit frontend for building buildpacks directly.

Usage

With Docker (v18.06+ with DOCKER_BUILDKIT=1):

Add # syntax = tonistiigi/pack as the first line of a file (eg. manifest.yml):

docker build -f manifest.yml .
With buildctl:
buildctl build --frontend=gateway.v0 --opt source=tonistiigi/pack --local context=.

Options

Detection can be enabled with skipDetect=true. Custom buildpacks can be set in manifest.yml or passed with buildpackOrder=url.

Examples

Python
> git clone git://github.com/ihuston/python-cf-examples.git
> cd python-cf-examples/01-simple-python-app
> tmp=$(mktemp); ( echo "# syntax = tonistiigi/pack" ; cat manifest.yml ) > $tmp && mv $tmp manifest.yml
> docker build -t pythonapp -f manifest.yml .
[+] Building 89.4s (16/16) FINISHED
 ....
 => => writing image sha256:1e13eb221e7779c8aa65624b97afcc11ee797d3c09d80dcfc1e55d956d467d39         0.0s
 => => naming to docker.io/library/pythonapp                                                         0.0s
> docker run -d -p 8080:8080 pythonapp
> curl localhost:8080
Hello World! I am instance 0
Go
> git clone git://github.com/cloudfoundry/go-buildpack
> cd go-buildpack/fixtures/go_app/
> tmp=$(mktemp); ( echo "# syntax = tonistiigi/pack" ; cat Procfile ) > $tmp && mv $tmp Procfile
> docker build -t goapp -f Procfile .
[+] Building 28.9s (16/16) FINISHED
...
 => => writing image sha256:f0d240bed9a2b12b288845c3a305050c8d9fa035f564d057e95b0714f68363f2         0.0s
 => => naming to docker.io/library/goapp                                                             0.0s
> docker run -d -p 8080:8080 goapp
> curl localhost:8080
go, world
.

.

Documentation

Index

Constants

View Source
const (
	LocalNameContext = "context"
)

Variables

This section is empty.

Functions

func Build

func Build(ctx context.Context, c client.Client) (*client.Result, error)

Types

type Application

type Application struct {
	Name      string `yaml:"name,omitempty"`
	Buildpack string `yaml:"buildpack,omitempty"`
	// Buildpacks           []string          `yaml:"buildpacks,omitempty"`
	Command              string            `yaml:"command,omitempty"`
	EnvironmentVariables map[string]string `yaml:"env,omitempty"`
}

type Manifest

type Manifest struct {
	Applications         []Application     `yaml:"applications"`
	Buildpack            string            `yaml:"buildpack,omitempty"`
	Command              string            `yaml:"command,omitempty"`
	EnvironmentVariables map[string]string `yaml:"env,omitempty"`
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL