jenkinsfile docker.withRegistry 使用子域方法推送到 artifactory
jenkinsfile docker.withRegistry push to artifactory with the subdomain method
我已经使用 repository path method 配置了我们的工件实例。我正在尝试将 Jenkins 中构建的图像推送到 Artifactory,但它似乎忽略了存储库路径本身。
def dockerImage = _dockerImage("kl_alpha")
docker.withRegistry( "https://artifactory-dev.foobar.com/docker-local", "someCreds") {
// def dockerImage = docker.build("kl_alpha:$BUILD_NUMBER", "./")
dockerImage.push()
dockerImage.push("latest")
}
Jenkins 中的输出看起来像这样
+ docker push artifactory-dev.foobar.com/kl_alpha:25
The push refers to repository [artifactory-dev.foobar.com/kl_alpha]
如您所见,它忽略了地址的 docker-local 部分。有什么想法吗?
对于 Docker 和 Jenkins Pipeline 的 Docker 插件,存储库是图像参数的一部分,而不是注册表。一般来说,这看起来像:
docker.withRegistry('<registry url>') {}
def dockerImage = docker.build('<repository>/<image name>:<tag>')
}
请注意,Jenkins Pipeline 的 Artifactory Docker 注册表文档有时会使用术语“存储库”,而实际上它的意思是“注册表”,这可能会造成混淆和误导。另请注意,某些图像没有参数的存储库部分,因为它们是官方的。
在您的情况下,代码将显示为:
docker.withRegistry('https://artifactory-dev.foobar.com', 'someCreds') {
def dockerImage = docker.build("docker-local/kl_alpha:${BUILD_NUMBER}", './')
dockerImage.push()
dockerImage.push('latest')
}
我已经使用 repository path method 配置了我们的工件实例。我正在尝试将 Jenkins 中构建的图像推送到 Artifactory,但它似乎忽略了存储库路径本身。
def dockerImage = _dockerImage("kl_alpha")
docker.withRegistry( "https://artifactory-dev.foobar.com/docker-local", "someCreds") {
// def dockerImage = docker.build("kl_alpha:$BUILD_NUMBER", "./")
dockerImage.push()
dockerImage.push("latest")
}
Jenkins 中的输出看起来像这样
+ docker push artifactory-dev.foobar.com/kl_alpha:25
The push refers to repository [artifactory-dev.foobar.com/kl_alpha]
如您所见,它忽略了地址的 docker-local 部分。有什么想法吗?
对于 Docker 和 Jenkins Pipeline 的 Docker 插件,存储库是图像参数的一部分,而不是注册表。一般来说,这看起来像:
docker.withRegistry('<registry url>') {}
def dockerImage = docker.build('<repository>/<image name>:<tag>')
}
请注意,Jenkins Pipeline 的 Artifactory Docker 注册表文档有时会使用术语“存储库”,而实际上它的意思是“注册表”,这可能会造成混淆和误导。另请注意,某些图像没有参数的存储库部分,因为它们是官方的。
在您的情况下,代码将显示为:
docker.withRegistry('https://artifactory-dev.foobar.com', 'someCreds') {
def dockerImage = docker.build("docker-local/kl_alpha:${BUILD_NUMBER}", './')
dockerImage.push()
dockerImage.push('latest')
}