Files
loader/.woodpecker/build-arm.yml
T
Oleksandr Bezdieniezhnykh 599788aa70 [AZ-205] Authenticate to Harbor before pushing build images
Add HARBOR_USER/HARBOR_TOKEN from Woodpecker secrets and a docker login
step before the existing build/push, so pipelines can push to the new
TLS-authenticated Harbor registry.
2026-04-20 04:10:42 +03:00

46 lines
1.6 KiB
YAML

when:
event: [push, manual]
branch: [dev, stage, main]
labels:
platform: arm64
steps:
- name: build-push
image: docker
environment:
REGISTRY_HOST:
from_secret: registry_host
HARBOR_USER:
from_secret: harbor_user
HARBOR_TOKEN:
from_secret: harbor_token
commands:
- echo "$HARBOR_TOKEN" | docker login "$REGISTRY_HOST" -u "$HARBOR_USER" --password-stdin
- if [ "$CI_COMMIT_BRANCH" = "main" ]; then export TAG=arm; else export TAG=${CI_COMMIT_BRANCH}-arm; fi
- export BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- |
docker build -f Dockerfile \
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
--label org.opencontainers.image.created=$BUILD_DATE \
--label org.opencontainers.image.source=$CI_REPO_URL \
-t $REGISTRY_HOST/loader:$TAG .
- docker push $REGISTRY_HOST/loader:$TAG
- docker save $REGISTRY_HOST/loader:$TAG -o loader-image.tar
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: publish-artifact
image: python:3.11-slim
commands:
- pip install --no-cache-dir boto3==1.40.9 cryptography==44.0.2 requests==2.32.4
- |
if [ "$CI_COMMIT_BRANCH" = "main" ]; then
export PUBLISH_DEV_STAGE=main
export TAG=arm
else
export PUBLISH_DEV_STAGE=$CI_COMMIT_BRANCH
export TAG=${CI_COMMIT_BRANCH}-arm
fi
- python scripts/publish_artifact.py --file loader-image.tar --resource-name loader --dev-stage "$PUBLISH_DEV_STAGE" --architecture arm64 --version "$CI_COMMIT_SHA"