| This problem still exists; we're using Artifactory 6.9.1, and I'm seeing similar behaviour. Interestingly it doesn't always fail in this particular manner; sometimes I'm told that Jenkins was unable to find the manifest.json file instead. I think the problem is actually a race condition between the Jenkins plugin and Artifactory itself; I think what's happening is that the Jenkins plugin uploads the Docker image to Artifactory, and then immediately tries to find the history layer in the image. If the Artifactory installation is fast enough, that's fine, but if the Jenkins plugin catches Artifactory just at the wrong moment (I assume while it's moving from _uploads to the final destination, or something of that nature), it can't find one or more of the files and so you get these error messages. Although this is listed as a "minor" problem, it's actually a pretty major bug in the Artifactory plug-in, because it makes doing
def server = Artifactory.server 'myServer'
def rtDocker = Artifactory.docker server:server
def buildInfo = rtDocker.push("myImage:some-tag", "docker/myImage")
server.publishBuildInfo buildInfo
fail, either on the push step, or alternatively (if it fails to find the manifest, as opposed to the history layer) it will succeed but the build will show a single empty module with no artifacts, even though you can see that the Docker image has been uploaded successfully. |