# Peikarband Platform - Woodpecker CI/CD Pipeline # Harbor: hub.peikarband.ir # Project: peikarband (created) steps: build-and-push: image: gcr.io/kaniko-project/executor:debug environment: HARBOR_USERNAME: from_secret: harbor_username HARBOR_PASSWORD: from_secret: harbor_password commands: - mkdir -p /kaniko/.docker - | # استفاده از environment variables یا مقادیر پیش‌فرض # چک می‌کنیم که آیا متغیرها خالی هستند یا نه if [ -z "${HARBOR_USERNAME}" ] || [ "${HARBOR_USERNAME}" = "" ]; then USERNAME="admin" else USERNAME="${HARBOR_USERNAME}" fi if [ -z "${HARBOR_PASSWORD}" ] || [ "${HARBOR_PASSWORD}" = "" ]; then PASSWORD="5459ed7590d37656410fae38bdf59eb7ee33b68cd4c" else PASSWORD="${HARBOR_PASSWORD}" fi # ساخت Docker config AUTH=$(echo -n "${USERNAME}:${PASSWORD}" | base64 -w 0) echo "{\"auths\":{\"hub.peikarband.ir\":{\"auth\":\"${AUTH}\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --dockerfile=Dockerfile --context=dir://. --destination=hub.peikarband.ir/peikarband/landing:latest --destination=hub.peikarband.ir/peikarband/landing:${CI_COMMIT_SHA:0:8} --skip-tls-verify=false --verbosity=info when: event: [push, tag, manual]