|
9 | 9 | "fmt" |
10 | 10 | "io" |
11 | 11 | "io/fs" |
| 12 | + stdlog "log" |
12 | 13 | "maps" |
13 | 14 | "net" |
14 | 15 | "net/http" |
@@ -43,6 +44,7 @@ import ( |
43 | 44 | dockerconfig "github.com/docker/cli/cli/config" |
44 | 45 | "github.com/docker/cli/cli/config/configfile" |
45 | 46 | "github.com/fatih/color" |
| 47 | + "github.com/google/go-containerregistry/pkg/logs" |
46 | 48 | v1 "github.com/google/go-containerregistry/pkg/v1" |
47 | 49 | "github.com/google/go-containerregistry/pkg/v1/remote" |
48 | 50 | "github.com/kballard/go-shellquote" |
@@ -583,6 +585,19 @@ func run(ctx context.Context, opts options.Options, execArgs *execArgsInfo) erro |
583 | 585 | endStage("🏗️ Built image!") |
584 | 586 | if opts.PushImage { |
585 | 587 | endStage = startStage("🏗️ Pushing image...") |
| 588 | + kOpts.PushRetry = 3 |
| 589 | + // kOpts.PushIgnoreImmutableTagErrors = true |
| 590 | + logs.Debug = stdlog.New(os.Stderr, "", 0) |
| 591 | + logs.Warn = stdlog.New(os.Stderr, "", 0) |
| 592 | + logs.Progress = stdlog.New(os.Stderr, "", 0) |
| 593 | + layers, _ := image.Layers() |
| 594 | + for _, layer := range layers { |
| 595 | + mediaType, _ := layer.MediaType() |
| 596 | + diffID, _ := layer.DiffID() |
| 597 | + digest, _ := layer.Digest() |
| 598 | + size, _ := layer.Size() |
| 599 | + opts.Logger(log.LevelDebug, "Layer: %s %s %s %d", mediaType, diffID, digest, size) |
| 600 | + } |
586 | 601 | if err := executor.DoPush(image, kOpts); err == nil { |
587 | 602 | endStage("🏗️ Pushed image!") |
588 | 603 | } else if !opts.ExitOnPushFailure { |
|
0 commit comments