Merge the tip of origin/release/proposed/2019.2.0 into origin/release/2019.2.0
365601e Rework fetching sha256 for pushed docker image
616ab39 Re-download pushed docker image to recalculate sha1 hash
Change-Id: I135b3baf70c2827a0a0274a49ff069bbda223e8f
diff --git a/docker-mirror-images.groovy b/docker-mirror-images.groovy
index 163ec5a..0808233 100644
--- a/docker-mirror-images.groovy
+++ b/docker-mirror-images.groovy
@@ -64,6 +64,9 @@
}
}
+def tgt_image_sha256
+def unique_image_id
+
timeout(time: 4, unit: 'HOURS') {
node(slaveNode) {
def user = jenkinsUtils.currentUsername()
@@ -120,7 +123,12 @@
common.infoMsg("Attempt to push docker image into remote registry: ${env.REGISTRY_URL}")
common.retry(3, 5) {
docker.withRegistry(env.REGISTRY_URL, env.TARGET_REGISTRY_CREDENTIALS_ID) {
- sh("docker push ${targetImageFull}")
+ out = sh(script:"docker push ${targetImageFull}", returnStdout: true).trim()
+ common.infoMsg(out)
+ hash_regex = /digest:\ssha256:(\S*)\s/
+ hash_group = (out =~ hash_regex)
+ tgt_image_sha256 = hash_group[0][1]
+ unique_image_id = "sha256:${hash_group[0][1]}"
}
}
def buildTime = new Date().format("yyyyMMdd-HH:mm:ss.SSS", TimeZone.getTimeZone('UTC'))
@@ -128,9 +136,6 @@
if (setDefaultArtifactoryProperties) {
common.infoMsg("Processing artifactory props for : ${targetImageFull}")
LinkedHashMap artifactoryProperties = [:]
- def tgtImageInfo = getImageInfo(targetImageFull)
- def tgt_image_sha256 = tgtImageInfo['sha256']
- def unique_image_id = tgtImageInfo['id']
def tgtImgUrl = imageURL(targetRegistry, targetImageFull, tgt_image_sha256) - '/manifest.json'
artifactoryProperties = [
'com.mirantis.targetTag' : env.IMAGE_TAG,