Bläddra i källkod

Add `no-cache` build flag

Signed-off-by: aiordache <[email protected]>
aiordache 4 år sedan
förälder
incheckning
3f0ee7072f
3 ändrade filer med 11 tillägg och 0 borttagningar
  1. 2 0
      api/compose/api.go
  2. 8 0
      cli/cmd/compose/build.go
  3. 1 0
      local/compose/build.go

+ 2 - 0
api/compose/api.go

@@ -82,6 +82,8 @@ type BuildOptions struct {
 	Progress string
 	// Args set build-time args
 	Args types.Mapping
+	// NoCache disables cache use
+	NoCache bool
 }
 
 // CreateOptions group options of the Create API

+ 8 - 0
cli/cmd/compose/build.go

@@ -35,6 +35,8 @@ type buildOptions struct {
 	pull     bool
 	progress string
 	args     []string
+	noCache  bool
+	memory   string
 }
 
 func buildCommand(p *projectOptions) *cobra.Command {
@@ -65,6 +67,11 @@ func buildCommand(p *projectOptions) *cobra.Command {
 	cmd.Flags().MarkHidden("compress") //nolint:errcheck
 	cmd.Flags().Bool("force-rm", true, "Always remove intermediate containers. DEPRECATED")
 	cmd.Flags().MarkHidden("force-rm") //nolint:errcheck
+	cmd.Flags().BoolVar(&opts.noCache, "no-cache", false, "Do not use cache when building the image")
+	cmd.Flags().Bool("no-rm", false, "Do not remove intermediate containers after a successful build. DEPRECATED")
+	cmd.Flags().MarkHidden("no-rm") //nolint:errcheck
+	cmd.Flags().StringVarP(&opts.memory, "memory", "m", "", "Set memory limit for the build container. DEPRECATED")
+	cmd.Flags().MarkHidden("memory") //nolint:errcheck
 
 	return cmd
 }
@@ -85,6 +92,7 @@ func runBuild(ctx context.Context, opts buildOptions, services []string) error {
 			Pull:     opts.pull,
 			Progress: opts.progress,
 			Args:     types.NewMapping(opts.args),
+			NoCache:  opts.noCache,
 		})
 	})
 	return err

+ 1 - 0
local/compose/build.go

@@ -50,6 +50,7 @@ func (s *composeService) Build(ctx context.Context, project *types.Project, opti
 			}
 			buildOptions.Pull = options.Pull
 			buildOptions.BuildArgs = options.Args
+			buildOptions.NoCache = options.NoCache
 			opts[imageName] = buildOptions
 			buildOptions.CacheFrom, err = build.ParseCacheEntry(service.Build.CacheFrom)
 			if err != nil {