mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #1833 from shin-/1815-always-push-tags
Push tags to registry even if images are already uploaded
This commit is contained in:
commit
49b5c44ee9
1 changed files with 15 additions and 4 deletions
19
server.go
19
server.go
|
@ -741,10 +741,24 @@ func (srv *Server) pushRepository(r *registry.Registry, out io.Writer, localName
|
||||||
for _, round := range imgList {
|
for _, round := range imgList {
|
||||||
// FIXME: This section can be parallelized
|
// FIXME: This section can be parallelized
|
||||||
for _, elem := range round {
|
for _, elem := range round {
|
||||||
|
var pushTags func() error
|
||||||
|
pushTags = func() error {
|
||||||
|
out.Write(sf.FormatStatus("", "Pushing tags for rev [%s] on {%s}", elem.ID, ep+"repositories/"+remoteName+"/tags/"+elem.Tag))
|
||||||
|
if err := r.PushRegistryTag(remoteName, elem.ID, elem.Tag, ep, repoData.Tokens); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if _, exists := repoData.ImgList[elem.ID]; exists {
|
if _, exists := repoData.ImgList[elem.ID]; exists {
|
||||||
|
if err := pushTags(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", elem.ID))
|
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", elem.ID))
|
||||||
continue
|
continue
|
||||||
} else if r.LookupRemoteImage(elem.ID, ep, repoData.Tokens) {
|
} else if r.LookupRemoteImage(elem.ID, ep, repoData.Tokens) {
|
||||||
|
if err := pushTags(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", elem.ID))
|
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", elem.ID))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -754,10 +768,7 @@ func (srv *Server) pushRepository(r *registry.Registry, out io.Writer, localName
|
||||||
} else {
|
} else {
|
||||||
elem.Checksum = checksum
|
elem.Checksum = checksum
|
||||||
}
|
}
|
||||||
out.Write(sf.FormatStatus("", "Pushing tags for rev [%s] on {%s}", elem.ID, ep+"repositories/"+remoteName+"/tags/"+elem.Tag))
|
return pushTags()
|
||||||
if err := r.PushRegistryTag(remoteName, elem.ID, elem.Tag, ep, repoData.Tokens); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue