build(bake): specify local and remote bake definitions

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2023-11-17 15:00:21 +01:00
parent 1f9002767f
commit 70ea08ca07
No known key found for this signature in database
GPG Key ID: ADE44D8C9D44FBE4
1 changed files with 50 additions and 0 deletions

View File

@ -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"
]
}
}
}
```