52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: build-and-push-multiarch
|
|
|
|
steps:
|
|
- name: build-amd64
|
|
image: docker:26
|
|
privileged: true
|
|
environment:
|
|
HARBOR_USER:
|
|
from_secret: harbor_user
|
|
HARBOR_PASS:
|
|
from_secret: harbor_pass
|
|
commands:
|
|
- docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS"
|
|
- docker buildx create --use
|
|
- docker buildx build \
|
|
--platform linux/amd64 \
|
|
-t harbor.example.com/myproj/portainer-agent-tailscale:amd64 \
|
|
--push .
|
|
|
|
- name: build-arm64
|
|
image: docker:26
|
|
privileged: true
|
|
environment:
|
|
HARBOR_USER:
|
|
from_secret: harbor_user
|
|
HARBOR_PASS:
|
|
from_secret: harbor_pass
|
|
commands:
|
|
- docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS"
|
|
- docker buildx create --use
|
|
- docker buildx build \
|
|
--platform linux/arm64 \
|
|
-t harbor.example.com/myproj/portainer-agent-tailscale:arm64 \
|
|
--push .
|
|
|
|
- name: create-manifest
|
|
image: docker:26
|
|
environment:
|
|
HARBOR_USER:
|
|
from_secret: harbor_user
|
|
HARBOR_PASS:
|
|
from_secret: harbor_pass
|
|
commands:
|
|
- docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS"
|
|
- docker manifest create harbor.example.com/myproj/portainer-agent-tailscale:latest \
|
|
--amend harbor.example.com/myproj/portainer-agent-tailscale:amd64 \
|
|
--amend harbor.example.com/myproj/portainer-agent-tailscale:arm64
|
|
- docker manifest push harbor.example.com/myproj/portainer-agent-tailscale:latest
|
|
|