1. Add driver as an option, defaulting to `docker-container`. For a
"native" build you can set it to `docker`
2. Set arch as a array of architectures to build for, defaulting to
`[ "amd64", "arm64" ]` unless you are using the docker driver in
which case we default to not setting a platform
3. Remote is now just a connection string for the remote builder
4. If remote is set, we only use it for non-local arches, if we are
only building for the local arch, we'll ignore it.
Examples:
On arm64, build for arm64 locally, amd64 remotely or
On amd64, build for amd64 locally, arm64 remotely:
```yaml
builder:
remote: ssh://docker@docker-builder
```
On arm64, build amd64 on remote,
On amd64 build locally:
```yaml
builder:
arch:
- amd64
remote:
host: ssh://docker@docker-builder
```
Build amd64 on local:
```yaml
builder:
arch:
- amd64
```
Use docker driver, building for local arch:
```yaml
builder:
driver: docker
```
41 lines
671 B
YAML
41 lines
671 B
YAML
service: app
|
|
image: dhh/app
|
|
servers:
|
|
web:
|
|
- "1.1.1.1"
|
|
- "1.1.1.2"
|
|
workers:
|
|
- "1.1.1.3"
|
|
- "1.1.1.4"
|
|
registry:
|
|
username: user
|
|
password: pw
|
|
|
|
accessories:
|
|
mysql:
|
|
image: mysql:5.7
|
|
host: 1.1.1.3
|
|
port: 3306
|
|
env:
|
|
clear:
|
|
MYSQL_ROOT_HOST: '%'
|
|
secret:
|
|
- MYSQL_ROOT_PASSWORD
|
|
files:
|
|
- test/fixtures/files/my.cnf:/etc/mysql/my.cnf
|
|
directories:
|
|
- data:/var/lib/mysql
|
|
redis:
|
|
image: redis:latest
|
|
roles:
|
|
- web
|
|
port: 6379
|
|
directories:
|
|
- data:/data
|
|
|
|
readiness_delay: 0
|
|
|
|
builder:
|
|
arch: <%= `uname -m`.strip == "x86_64" ? "arm64" : "amd64" %>
|
|
remote: ssh://app@1.1.1.5
|