この最小限のJenkins Pipelineスクリプト
_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から指定されたイメージを作成してタグ付けします。 _
'-f Dockerfile.other --pull --build-arg http_proxy=http://192.168.1.1:3128 .'
_などの追加の引数を追加できます。 Dockerビルドと同様に、引数はビルドコンテキストで終了する必要があります。結果のImageオブジェクトを返します。ビルドにFROMフィンガープリントを記録します。
どうしたの?
私の混乱は、エラーメッセージが実際にはJenkinsではなくDockerから来ているためです。
ビルドコンテキストを指定しないと、Dockerはこのエラーを返します(上記のドキュメントに記載されています)。
修正は、例に従ってargsパラメーターの最後に.
を追加するだけです。例:
node {
docker.build("foo", "--build-arg x=y .")
}