82 lines
2 KiB
YAML
82 lines
2 KiB
YAML
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
environment:
|
|
DOCKER_CLI_EXPERIMENTAL: enabled
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
services:
|
|
- name: dind
|
|
image: docker:dind
|
|
command: ["dockerd", "--experimental"]
|
|
privileged: true
|
|
volumes:
|
|
- name: docker_socket
|
|
path: /var/run
|
|
|
|
volumes:
|
|
- name: docker_socket
|
|
temp: {}
|
|
|
|
steps:
|
|
- name: build
|
|
image: docker:latest
|
|
commands:
|
|
- |-
|
|
case $(uname -a) in
|
|
*x86_64*)
|
|
export ARCH="amd64"
|
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
;;
|
|
*aarch64*)
|
|
export ARCH="arm64"
|
|
;;
|
|
*)
|
|
export ARCH="unknown"
|
|
;;
|
|
esac
|
|
- |-
|
|
export BUILDX_URL=$( \
|
|
wget -q -O - \
|
|
https://api.github.com/repos/docker/buildx/releases/latest \
|
|
| grep "browser_download_url.*linux-$ARCH" \
|
|
| cut -d: -f2,3 \
|
|
| tr -d \" \
|
|
)
|
|
- mkdir -p ~/.docker/cli-plugins
|
|
- wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL
|
|
- chmod a+x ~/.docker/cli-plugins/docker-buildx
|
|
- docker version
|
|
- docker buildx version
|
|
- |-
|
|
echo -n $REGISTRY_PASS \
|
|
| docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST
|
|
- docker buildx create --name multiarch --use
|
|
- |-
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
--output=type=image,push=true \
|
|
--progress tty \
|
|
--build-arg TAG=$DRONE_TAG \
|
|
-t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \
|
|
-t $REGISTRY_HOST/$IMAGE:latest \
|
|
.
|
|
volumes:
|
|
- name: docker_socket
|
|
path: /var/run
|
|
environment:
|
|
IMAGE: protonmail-bridge
|
|
REGISTRY_HOST: registry.thegibsonhome.net
|
|
REGISTRY_USER:
|
|
from_secret: registry_username
|
|
REGISTRY_PASS:
|
|
from_secret: registry_password
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|