Files
peikarband/woodpecker.yml
Ehsan.Asadi 4f224a88cd
Some checks failed
CD - Build & Deploy / build-and-push (push) Has been cancelled
CD - Build & Deploy / package-helm (push) Has been cancelled
CD - Build & Deploy / deploy-staging (push) Has been cancelled
CD - Build & Deploy / deploy-production (push) Has been cancelled
CD - Build & Deploy / release (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / security (push) Has been cancelled
added files
2025-12-27 23:07:09 +03:30

65 lines
1.9 KiB
YAML

# 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]