# Peikarband Platform - Woodpecker CI/CD Pipeline # وضعیت: فقط بیلد و پوش به Harbor فعال است variables: - &harbor_registry 'harbor.peikarband.ir' - &image_name 'peikarband/landing' # تنظیمات کلی برای اجرا در هر پوش when: - evaluate: 'CI_PIPELINE_EVENT != "cron"' steps: # ============================================ # STAGE: Docker Build & Push (تنها بخش فعال) # ============================================ docker-build: image: plugins/docker settings: registry: *harbor_registry repo: ${harbor_registry}/${image_name} # تگ کردن تصویر با هش کامیت و کلمه latest tags: - ${CI_COMMIT_SHA:0:8} - latest username: from_secret: harbor_username password: from_secret: harbor_password build_args: - ENVIRONMENT=production # استفاده از کش برای سرعت بیشتر در بیلدهای بعدی cache_from: ${harbor_registry}/${image_name}:latest when: event: [push, tag] # ============================================ # بخش‌های غیرفعال (کامنت شده) # ============================================ # lint-python: # image: python:3.11-slim # commands: # - pip install --no-cache-dir flake8 black # - flake8 src/ # when: # branch: [main, develop] # deploy-staging: # image: argoproj/argocd:latest # environment: # ARGOCD_SERVER: { from_secret: argocd_server } # ARGOCD_AUTH_TOKEN: { from_secret: argocd_token } # commands: # - argocd app set peikarband-staging --helm-set image.tag=${CI_COMMIT_SHA:0:8} # - argocd app sync peikarband-staging # when: # branch: [develop] # notify-telegram: # image: appleboy/drone-telegram:latest # settings: # token: { from_secret: telegram_bot_token } # to: { from_secret: telegram_chat_id } # when: # status: [success, failure]