mirror of
https://github.com/docker/build-push-action.git
synced 2024-11-16 02:43:50 +08:00
8f0f662386
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
122 lines
3.5 KiB
Markdown
122 lines
3.5 KiB
Markdown
## About
|
|
|
|
GitHub Action to set up Docker [Buildx](https://github.com/docker/buildx).
|
|
|
|
___
|
|
|
|
* [Usage](#usage)
|
|
* [Quick start](#quick-start)
|
|
* [With QEMU](#with-qemu)
|
|
* [Customizing](#customizing)
|
|
* [inputs](#inputs)
|
|
* [outputs](#outputs)
|
|
* [environment variables](#environment-variables)
|
|
* [Limitation](#limitation)
|
|
|
|
## Usage
|
|
|
|
### Quick start
|
|
|
|
```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 Docker Buildx
|
|
id: buildx
|
|
uses: docker/actions/setup-buildx@v1
|
|
with:
|
|
version: latest
|
|
-
|
|
name: Builder instance name
|
|
run: echo ${{ steps.buildx.outputs.name }}
|
|
-
|
|
name: Available platforms
|
|
run: echo ${{ steps.buildx.outputs.platforms }}
|
|
```
|
|
|
|
### With QEMU
|
|
|
|
If you want support for more platforms you can use our [setup-qemu](../setup-qemu) action:
|
|
|
|
```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/actions/setup-qemu@v1
|
|
with:
|
|
platforms: all
|
|
-
|
|
name: Set up Docker Buildx
|
|
id: buildx
|
|
uses: docker/actions/setup-buildx@v1
|
|
with:
|
|
version: latest
|
|
-
|
|
name: Available platforms
|
|
run: echo ${{ steps.buildx.outputs.platforms }}
|
|
```
|
|
|
|
## Customizing
|
|
|
|
### inputs
|
|
|
|
Following inputs can be used as `step.with` keys
|
|
|
|
| Name | Type | Default | Description |
|
|
|------------------|---------|-----------------------------------|------------------------------------|
|
|
| `version` | String | _the one installed on the runner_ | [Buildx](https://github.com/docker/buildx) version. e.g. `v0.3.0`, `latest` |
|
|
| `driver` | String | `docker-container` | Sets the [builder driver](https://github.com/docker/buildx#--driver-driver) to be used. |
|
|
| `driver-opt` | String | | Passes additional [driver-specific options](https://github.com/docker/buildx#--driver-opt-options). e.g. `image=moby/buildkit:master` |
|
|
| `install` | Bool | `false` | Sets up `docker build` command as an alias to `docker buildx` |
|
|
| `use` | Bool | `true` | Switch to this builder instance |
|
|
|
|
### outputs
|
|
|
|
Following outputs are available
|
|
|
|
| Name | Type | Description |
|
|
|---------------|---------|---------------------------------------|
|
|
| `name` | String | Builder instance name |
|
|
| `platforms` | String | Available platforms (comma separated) |
|
|
|
|
### environment variables
|
|
|
|
The following [official docker environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) are supported:
|
|
|
|
| Name | Type | Default | Description |
|
|
|-----------------|---------|-------------|-------------------------------------------------|
|
|
| `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files |
|
|
|
|
## Limitation
|
|
|
|
This action is only available for Linux [virtual environments](https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources).
|