使用这个最小的Jenkins管道脚本
node {
docker.build("foo", "--build-arg x=y")
}
我收到了一个令人困惑的错误
" docker build"只需要1个参数。
但根据文档,docker.build()
的签名为build(image[, args])
(来自Jenkins /job/dockerbug/pipeline-syntax/globals#docker
)
build(image[, args])
运行docker build以创建和标记指定的 来自当前目录中的Dockerfile的图像。额外的args可能 添加,例如
'-f Dockerfile.other --pull --build-arg http_proxy=http://192.168.1.1:3128 .'
。像docker build一样,args必须 以构建上下文结束。返回生成的Image对象。 在构建中记录FROM指纹。
发生了什么?
答案 0 :(得分:25)
我的困惑是因为错误信息实际上来自Docker,而不是Jenkins。
如果您没有指定构建上下文,则Docker会出现此错误(如上文所述)。
修复只是按照示例将.
添加到args参数的末尾,例如:
node {
docker.build("foo", "--build-arg x=y .")
}
请参阅docker: "build" requires 1 argument. See 'docker build --help'