Made changes to --image-name-with-digest-file to support multiple destinations

This commit is contained in:
Will Ripley 2019-10-29 10:55:49 -05:00
parent 4c9a800e12
commit f38c47daa0
1 changed files with 18 additions and 16 deletions

View File

@ -107,17 +107,18 @@ func getDigest(image v1.Image) ([]byte, error){
// DoPush is responsible for pushing image to the destinations specified in opts // DoPush is responsible for pushing image to the destinations specified in opts
func DoPush(image v1.Image, opts *config.KanikoOptions) error { func DoPush(image v1.Image, opts *config.KanikoOptions) error {
t := timing.Start("Total Push Time") t := timing.Start("Total Push Time")
var digestByteArray []byte
if opts.DigestFile != "" { var builder strings.Builder
// digest, err := image.Digest() if opts.DigestFile != "" || opts.ImageNameDigestFile != "" {
// if err != nil { var err error
// return errors.Wrap(err, "error fetching digest") digestByteArray, err = getDigest(image)
// }
digestByteArray, err := getDigest(image)
if err != nil { if err != nil {
return errors.Wrap(err, "error fetching digest") return errors.Wrap(err, "error fetching digest")
} }
err = ioutil.WriteFile(opts.DigestFile, digestByteArray, 0644) }
if opts.DigestFile != "" {
err := ioutil.WriteFile(opts.DigestFile, digestByteArray, 0644)
if err != nil { if err != nil {
return errors.Wrap(err, "writing digest to file failed") return errors.Wrap(err, "writing digest to file failed")
} }
@ -140,19 +141,20 @@ func DoPush(image v1.Image, opts *config.KanikoOptions) error {
return errors.Wrap(err, "getting tag for destination") return errors.Wrap(err, "getting tag for destination")
} }
if opts.ImageNameDigestFile != "" { if opts.ImageNameDigestFile != "" {
digestByteArray, err := getDigest(image)
if err != nil {
return errors.Wrap(err, "error fetching digest")
}
imageName := []byte(destination + "@") imageName := []byte(destination + "@")
err = ioutil.WriteFile(opts.ImageNameDigestFile, append(imageName, digestByteArray...), 0644) builder.Write(append(imageName, digestByteArray...))
if err != nil { builder.WriteString("\n")
return errors.Wrap(err, "writing digest to file failed")
}
} }
destRefs = append(destRefs, destRef) destRefs = append(destRefs, destRef)
} }
if opts.ImageNameDigestFile != "" {
err := ioutil.WriteFile(opts.ImageNameDigestFile, []byte(builder.String()), 0644)
if err != nil {
return errors.Wrap(err, "writing digest to file failed")
}
}
if opts.TarPath != "" { if opts.TarPath != "" {
tagToImage := map[name.Tag]v1.Image{} tagToImage := map[name.Tag]v1.Image{}
for _, destRef := range destRefs { for _, destRef := range destRefs {