Files
portainer-agent-tailscale/drone.yml
Patrick Gniza 58b7e7fd58
Some checks failed
continuous-integration/drone/push Build is failing
drone build with param docker-conatiner
2025-11-05 20:49:16 +01:00

95 lines
2.8 KiB
YAML

kind: pipeline
type: docker
name: build-and-push
# BuildKit-Service für parallele Multiarch-Builds
services:
- name: buildkitd
image: moby/buildkit:buildx-stable-1
privileged: true
command: ["buildkitd", "--addr", "tcp://0.0.0.0:1234", "--debug"]
# Netzwerk explizit öffnen
network_mode: host
steps:
- name: build-amd64
image: docker:26
privileged: true
environment:
BUILDKIT_HOST: tcp://buildkitd:1234
REGISTRY_URL:
from_secret: REGISTRY_URL
DOCKER_USER:
from_secret: DOCKER_USER
DOCKER_PASS:
from_secret: DOCKER_PASS
volumes:
- name: docker_sock
path: /var/run/docker.sock
commands:
- |
echo "=== Building amd64 image ==="
docker login "$REGISTRY_URL" -u "$DOCKER_USER" -p "$DOCKER_PASS"
docker buildx create --use --driver docker-container --driver-opt network=host
docker buildx inspect --bootstrap
docker buildx build \
--platform linux/amd64 \
--output=type=registry \
--provenance=false \
-t ${REGISTRY_URL}/portainer-agent-tailscale:amd64 \
--push .
- name: build-arm64
image: docker:26
privileged: true
environment:
BUILDKIT_HOST: tcp://buildkitd:1234
REGISTRY_URL:
from_secret: REGISTRY_URL
DOCKER_USER:
from_secret: DOCKER_USER
DOCKER_PASS:
from_secret: DOCKER_PASS
volumes:
- name: docker_sock
path: /var/run/docker.sock
commands:
- |
echo "=== Building arm64 image ==="
docker login "$REGISTRY_URL" -u "$DOCKER_USER" -p "$DOCKER_PASS"
docker buildx create --use --driver docker-container --driver-opt network=host
docker buildx inspect --bootstrap
docker buildx build \
--platform linux/arm64 \
--output=type=registry \
--provenance=false \
-t ${REGISTRY_URL}/portainer-agent-tailscale:arm64 \
--push .
- name: create-manifest
image: docker:26
privileged: true
environment:
REGISTRY_URL:
from_secret: REGISTRY_URL
DOCKER_USER:
from_secret: DOCKER_USER
DOCKER_PASS:
from_secret: DOCKER_PASS
volumes:
- name: docker_sock
path: /var/run/docker.sock
commands:
- |
echo "=== Creating multi-arch manifest ==="
docker login "$REGISTRY_URL" -u "$DOCKER_USER" -p "$DOCKER_PASS"
docker manifest create ${REGISTRY_URL}/portainer-agent-tailscale:latest \
--amend ${REGISTRY_URL}/portainer-agent-tailscale:amd64 \
--amend ${REGISTRY_URL}/portainer-agent-tailscale:arm64
docker manifest push ${REGISTRY_URL}/portainer-agent-tailscale:latest
volumes:
- name: docker_sock
host:
path: /var/run/docker.sock