我正在重构旧的脚本化的jenkins管道,并试图利用漂亮的jenkins声明性语法。 但是我在尝试使用我们的私人Docker注册中心进行身份验证时遇到问题。
在线资源告诉我这应该起作用:
steps {
sh 'docker -v'
withDockerRegistry([url: DOCKER_REGISTRY_URL, credentialsId: DOCKER_REGISTRY_CREDENTIALS]) {
pushDockerImage()
}
}
第一行“ docker -v”正确执行,并打印出当前的docker版本。 但是,当尝试执行“ withDockerRegistry”时,它将失败并显示:
无法运行程序“ docker”:error = 2,没有这样的文件或目录
我的语法有误还是缺少某种全局配置?
干杯
答案 0 :(得分:0)
在withDockerRegistry中添加一个工具名称:
withDockerRegistry(registry: [url: DOCKER_REGISTRY_URL, credentialsId: DOCKER_REGISTRY_CREDENTIALS], toolName: 'docker')
还在“全局工具配置”中设置docker。