|
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