Implement build cache based on history array

Based on work by KJ Tsanaktsidis

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: KJ Tsanaktsidis <kjtsanaktsidis@gmail.com>
This commit is contained in:
Tõnis Tiigi 2016-09-22 14:38:00 -07:00 committed by Tonis Tiigi
parent cecd4904f3
commit fe4cc3fd77
1 changed files with 3 additions and 0 deletions

View File

@ -55,6 +55,7 @@ type buildOptions struct {
rm bool rm bool
forceRm bool forceRm bool
pull bool pull bool
cacheFrom []string
} }
// NewBuildCommand creates a new `docker build` command // NewBuildCommand creates a new `docker build` command
@ -98,6 +99,7 @@ func NewBuildCommand(dockerCli *command.DockerCli) *cobra.Command {
flags.BoolVar(&options.forceRm, "force-rm", false, "Always remove intermediate containers") flags.BoolVar(&options.forceRm, "force-rm", false, "Always remove intermediate containers")
flags.BoolVarP(&options.quiet, "quiet", "q", false, "Suppress the build output and print image ID on success") flags.BoolVarP(&options.quiet, "quiet", "q", false, "Suppress the build output and print image ID on success")
flags.BoolVar(&options.pull, "pull", false, "Always attempt to pull a newer version of the image") flags.BoolVar(&options.pull, "pull", false, "Always attempt to pull a newer version of the image")
flags.StringSliceVar(&options.cacheFrom, "cache-from", []string{}, "Images to consider as cache sources")
command.AddTrustedFlags(flags, true) command.AddTrustedFlags(flags, true)
@ -289,6 +291,7 @@ func runBuild(dockerCli *command.DockerCli, options buildOptions) error {
BuildArgs: runconfigopts.ConvertKVStringsToMap(options.buildArgs.GetAll()), BuildArgs: runconfigopts.ConvertKVStringsToMap(options.buildArgs.GetAll()),
AuthConfigs: authConfig, AuthConfigs: authConfig,
Labels: runconfigopts.ConvertKVStringsToMap(options.labels), Labels: runconfigopts.ConvertKVStringsToMap(options.labels),
CacheFrom: options.cacheFrom,
} }
response, err := dockerCli.Client().ImageBuild(ctx, body, buildOptions) response, err := dockerCli.Client().ImageBuild(ctx, body, buildOptions)