diff --git a/.woodpecker.yml b/.woodpecker.yml index 7f05a5a..97d4da3 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -1,20 +1,39 @@ -variables: - - ®istry "hub.peikarband.ir" # مطمئن شوید دامنه دقیقاً همین است - - &repo "peikarband/landing" +# Peikarband Platform - Woodpecker CI/CD Pipeline +# Harbor: hub.peikarband.ir +# Project: peikarband (created) steps: - build: - image: plugins/kaniko - settings: - registry: *registry - repo: *repo - tags: - - latest - - ${CI_COMMIT_SHA:0:8} - # متغیرها باید دقیقاً با این کلیدها در settings باشند - username: + build-and-push: + image: gcr.io/kaniko-project/executor:debug + environment: + HARBOR_USERNAME: from_secret: harbor_username - password: + 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] \ No newline at end of file + event: [push, tag, manual]