# Peikarband Platform - Woodpecker CI/CD Pipeline # Harbor Registry: hub.peikarband.ir # Best Practices Applied steps: build-and-push: image: woodpeckerci/plugin-docker-buildx settings: registry: hub.peikarband.ir repo: hub.peikarband.ir/peikarband/landing username: from_secret: harbor_username password: from_secret: harbor_password tags: - latest - ${CI_COMMIT_SHA:0:8} dockerfile: Dockerfile context: . platforms: linux/amd64 # Build arguments for Dockerfile build_args: - VERSION=${CI_COMMIT_SHA:0:8} - BUILD_DATE=${CI_PIPELINE_CREATED} - PYTHON_VERSION=3.11 - NODE_VERSION=20 # OCI labels for better metadata labels: - org.opencontainers.image.created=${CI_PIPELINE_CREATED} - org.opencontainers.image.source=${CI_REPO_LINK} - org.opencontainers.image.url=${CI_REPO_LINK} - org.opencontainers.image.revision=${CI_COMMIT_SHA} - org.opencontainers.image.version=${CI_COMMIT_SHA:0:8} - org.opencontainers.image.title=Peikarband Landing - org.opencontainers.image.description=Peikarband hosting platform landing page # Cache optimization cache: true cache_from: hub.peikarband.ir/peikarband/landing:latest # Security & provenance provenance: true insecure: false when: event: [push, tag, manual]