From 70ea08ca07cf0ba1043e54d7d9314afe985b2ade Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Fri, 17 Nov 2023 15:00:21 +0100 Subject: [PATCH] build(bake): specify local and remote bake definitions Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- content/build/bake/remote-definition.md | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/content/build/bake/remote-definition.md b/content/build/bake/remote-definition.md index 46d908a5851..11ecc695d2b 100644 --- a/content/build/bake/remote-definition.md +++ b/content/build/bake/remote-definition.md @@ -129,3 +129,53 @@ $ docker buildx bake "https://github.com/tonistiigi/buildx.git#remote-test" "htt #8 0.136 -rwxrwxrwx 1 root root 9620 Jul 27 18:31 vendor.conf #8 0.136 /bin/sh: stop: not found ``` + +## Remote definition with the --file flag + +You can also specify the Bake definition to load from the remote repository, +using the `--file` or `-f` flag: + +```console +docker buildx bake -f bake.hcl "https://github.com/crazy-max/buildx.git#remote-with-local" +``` + +```text +... +#4 [2/2] RUN echo "hello world" +#4 0.270 hello world +#4 DONE 0.3s +``` + +If you want to use a combination of local and remote definitions, you can +specify a local definition using the `cwd://` prefix with `-f`: + +```hcl +# local.hcl +target "default" { + args = { + HELLO = "foo" + } +} +``` + +```console +docker buildx bake -f bake.hcl -f cwd://local.hcl "https://github.com/crazy-max/buildx.git#remote-with-local" --print +``` + +```json +{ + "target": { + "default": { + "context": "https://github.com/crazy-max/buildx.git#remote-with-local", + "dockerfile": "Dockerfile", + "args": { + "HELLO": "foo" + }, + "target": "build", + "output": [ + "type=cacheonly" + ] + } + } +} +```