mirror of
https://github.com/docker/build-push-action.git
synced 2025-04-19 01:46:45 +00:00
Handle build bake through bake, bake-files and bake-targets
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
b07bd1f9df
commit
8be103ff82
9 changed files with 475 additions and 241 deletions
78
README.md
78
README.md
|
@ -66,6 +66,59 @@ jobs:
|
|||
user/app:1.0.0
|
||||
```
|
||||
|
||||
### Bake
|
||||
|
||||
[Buildx bake](https://github.com/docker/buildx#buildx-bake-options-target) is also available with this action through
|
||||
the [`bake` inputs](#inputs).
|
||||
|
||||
```yaml
|
||||
name: ci
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: master
|
||||
push:
|
||||
branches: master
|
||||
tags:
|
||||
|
||||
jobs:
|
||||
buildx:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
with:
|
||||
platforms: all
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
install: true
|
||||
-
|
||||
name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
push: true
|
||||
bake: true
|
||||
bake-files: |
|
||||
./config.hcl
|
||||
bake-targets: |
|
||||
default
|
||||
release
|
||||
```
|
||||
|
||||
## Customizing
|
||||
|
||||
### inputs
|
||||
|
@ -74,22 +127,25 @@ Following inputs can be used as `step.with` keys
|
|||
|
||||
| Name | Type | Default | Description |
|
||||
|---------------------|---------|-----------------------------------|------------------------------------|
|
||||
| `builder` | String | | Builder instance |
|
||||
| `builder` | String | | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
|
||||
| `context` | String | `.` | Build's context is the set of files located in the specified `PATH` or `URL` |
|
||||
| `file` | String | `./Dockerfile` | Path to the Dockerfile. |
|
||||
| `build-args` | String | | Newline-delimited list of build-time variables |
|
||||
| `labels` | String | | Newline-delimited list of metadata for an image |
|
||||
| `tags` | String | | Newline-delimited list of tags **required** |
|
||||
| `build-args` | List | | Newline-delimited list of build-time variables |
|
||||
| `labels` | List | | Newline-delimited list of metadata for an image |
|
||||
| `tags` | List | | Newline-delimited list of tags |
|
||||
| `pull` | Bool | `false` | Always attempt to pull a newer version of the image |
|
||||
| `target` | String | | Sets the target stage to build |
|
||||
| `allow` | String | | Allow extra privileged entitlement (eg. network.host,security.insecure) |
|
||||
| `allow` | String | | [Allow](https://github.com/docker/buildx#--allowentitlement) extra privileged entitlement (eg. network.host,security.insecure) |
|
||||
| `no-cache` | Bool | `false` | Do not use cache when building the image |
|
||||
| `platforms` | String | | Comma-delimited list of target platforms for build |
|
||||
| `load` | Bool | `false` | Shorthand for `--output=type=docker` |
|
||||
| `push` | Bool | `false` | Shorthand for `--output=type=registry` |
|
||||
| `outputs` | String | | Newline-delimited list of output destinations (format: `type=local,dest=path`) |
|
||||
| `cache-from` | String | | Newline-delimited list of external cache sources (eg. `user/app:cache`, `type=local,src=path/to/dir`) |
|
||||
| `cache-to` | String | | Newline-delimited list of cache export destinations (eg. `user/app:cache`, `type=local,dest=path/to/dir`) |
|
||||
| `platforms` | String | | Comma-delimited list of [target platforms](https://github.com/docker/buildx#---platformvaluevalue) for build |
|
||||
| `load` | Bool | `false` | [Load](https://github.com/docker/buildx#--load) is a shorthand for `--output=type=docker` |
|
||||
| `push` | Bool | `false` | [Push](https://github.com/docker/buildx#--push) is a shorthand for `--output=type=registry` |
|
||||
| `outputs` | List | | Newline-delimited list of [output destinations](https://github.com/docker/buildx#-o---outputpath-typetypekeyvalue) (format: `type=local,dest=path`) |
|
||||
| `cache-from` | List | | Newline-delimited list of [external cache sources](https://github.com/docker/buildx#--cache-fromnametypetypekeyvalue) (eg. `user/app:cache`, `type=local,src=path/to/dir`) |
|
||||
| `cache-to` | List | | Newline-delimited list of [cache export destinations](https://github.com/docker/buildx#--cache-tonametypetypekeyvalue) (eg. `user/app:cache`, `type=local,dest=path/to/dir`) |
|
||||
| `bake` | Bool | `false` | Use [bake](https://github.com/docker/buildx#buildx-bake-options-target) as the high-level build command |
|
||||
| `bake-files` | List | | Newline-delimited list of [bake definition files](https://github.com/docker/buildx#file-definition) |
|
||||
| `bake-targets` | List | | Newline-delimited list of bake targets |
|
||||
|
||||
### outputs
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue