added files
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
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
This commit is contained in:
226
woodpecker.yml
226
woodpecker.yml
@@ -1,113 +1,121 @@
|
|||||||
# Peikarband Platform - Woodpecker CI/CD Pipeline
|
# # Peikarband Platform - Woodpecker CI/CD Pipeline
|
||||||
# Complete production-ready pipeline
|
# # Complete production-ready pipeline
|
||||||
|
|
||||||
variables:
|
# variables:
|
||||||
- &harbor_registry 'harbor.peikarband.ir'
|
# - &harbor_registry 'harbor.peikarband.ir'
|
||||||
- &image_name 'peikarband/landing'
|
# - &image_name 'peikarband/landing'
|
||||||
- &python_version '3.11'
|
# - &python_version '3.11'
|
||||||
|
|
||||||
# Global configuration
|
# # Global configuration
|
||||||
when:
|
# when:
|
||||||
- evaluate: 'CI_PIPELINE_EVENT != "cron"'
|
# - evaluate: 'CI_PIPELINE_EVENT != "cron"'
|
||||||
|
|
||||||
|
# steps:
|
||||||
|
# # ============================================
|
||||||
|
# # STAGE 1: Code Quality & Linting (DISABLED)
|
||||||
|
# # ============================================
|
||||||
|
# # lint-python:
|
||||||
|
# # image: python:${python_version}-slim
|
||||||
|
# # environment:
|
||||||
|
# # - PYTHONPATH=/woodpecker/src/workspace
|
||||||
|
# # commands:
|
||||||
|
# # - pip install --no-cache-dir flake8 black isort mypy
|
||||||
|
# # - flake8 src/ --max-line-length=120 --exclude=__pycache__,migrations --statistics
|
||||||
|
# # - black --check src/ --line-length=120
|
||||||
|
# # - isort --check-only src/
|
||||||
|
# # when:
|
||||||
|
# # branch: [main, develop, staging, feature/*, hotfix/*]
|
||||||
|
|
||||||
|
# # lint-yaml:
|
||||||
|
# # image: cytopia/yamllint:latest
|
||||||
|
# # commands:
|
||||||
|
# # - yamllint -c .yamllint.yml helm/ || true
|
||||||
|
# # - yamllint woodpecker.yml
|
||||||
|
# # when:
|
||||||
|
# # branch: [main, develop, staging]
|
||||||
|
|
||||||
|
# # ============================================
|
||||||
|
# # STAGE 2 & 3: Tests & Security (DISABLED)
|
||||||
|
# # ============================================
|
||||||
|
# # test-unit:
|
||||||
|
# # image: python:${python_version}-slim
|
||||||
|
# # commands:
|
||||||
|
# # - pip install --no-cache-dir -r requirements.txt
|
||||||
|
# # - pytest tests/unit/
|
||||||
|
# # when:
|
||||||
|
# # branch: [main, develop]
|
||||||
|
|
||||||
|
# # ============================================
|
||||||
|
# # STAGE 4: Docker Build & Push (ACTIVE)
|
||||||
|
# # ============================================
|
||||||
|
# docker-build:
|
||||||
|
# image: plugins/docker
|
||||||
|
# settings:
|
||||||
|
# registry: *harbor_registry
|
||||||
|
# repo: ${harbor_registry}/${image_name}
|
||||||
|
# tags:
|
||||||
|
# - ${CI_COMMIT_SHA:0:8}
|
||||||
|
# - ${CI_COMMIT_BRANCH}
|
||||||
|
# - latest
|
||||||
|
# username:
|
||||||
|
# from_secret: harbor_username
|
||||||
|
# password:
|
||||||
|
# from_secret: harbor_password
|
||||||
|
# build_args:
|
||||||
|
# - ENVIRONMENT=production
|
||||||
|
# - VERSION=${CI_COMMIT_SHA:0:8}
|
||||||
|
# cache_from:
|
||||||
|
# - ${harbor_registry}/${image_name}:latest
|
||||||
|
# dockerfile: Dockerfile
|
||||||
|
# dry_run: false
|
||||||
|
# when:
|
||||||
|
# event: [push, tag, manual]
|
||||||
|
|
||||||
|
# # ============================================
|
||||||
|
# # STAGE 5 - 11: Deployment & Notifications (DISABLED)
|
||||||
|
# # ============================================
|
||||||
|
# # 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, staging]
|
||||||
|
|
||||||
|
# # notify-telegram:
|
||||||
|
# # image: appleboy/drone-telegram:latest
|
||||||
|
# # settings:
|
||||||
|
# # token: { from_secret: telegram_bot_token }
|
||||||
|
# # to: { from_secret: telegram_chat_id }
|
||||||
|
# # when:
|
||||||
|
# # status: [success, failure]
|
||||||
|
|
||||||
|
# # ============================================
|
||||||
|
# # Services & Workspace Configuration
|
||||||
|
# # ============================================
|
||||||
|
# # (سرویسها فعلاً کامنت شدند چون تستی اجرا نمیشود)
|
||||||
|
# # services:
|
||||||
|
# # postgres:
|
||||||
|
# # image: postgres:14-alpine
|
||||||
|
|
||||||
|
# workspace:
|
||||||
|
# base: /woodpecker/src
|
||||||
|
# path: workspace
|
||||||
|
|
||||||
|
# clone:
|
||||||
|
# git:
|
||||||
|
# image: woodpeckerci/plugin-git:latest
|
||||||
|
# settings:
|
||||||
|
# depth: 50
|
||||||
|
# tags: true
|
||||||
|
|
||||||
|
# فایل تست بسیار ساده - تمام بخشهای قبلی را پاک کن و فقط این را بگذار
|
||||||
steps:
|
steps:
|
||||||
# ============================================
|
test-build:
|
||||||
# STAGE 1: Code Quality & Linting (DISABLED)
|
image: alpine
|
||||||
# ============================================
|
commands:
|
||||||
# lint-python:
|
- echo "Testing Woodpecker Connection..."
|
||||||
# image: python:${python_version}-slim
|
- date
|
||||||
# environment:
|
|
||||||
# - PYTHONPATH=/woodpecker/src/workspace
|
|
||||||
# commands:
|
|
||||||
# - pip install --no-cache-dir flake8 black isort mypy
|
|
||||||
# - flake8 src/ --max-line-length=120 --exclude=__pycache__,migrations --statistics
|
|
||||||
# - black --check src/ --line-length=120
|
|
||||||
# - isort --check-only src/
|
|
||||||
# when:
|
|
||||||
# branch: [main, develop, staging, feature/*, hotfix/*]
|
|
||||||
|
|
||||||
# lint-yaml:
|
|
||||||
# image: cytopia/yamllint:latest
|
|
||||||
# commands:
|
|
||||||
# - yamllint -c .yamllint.yml helm/ || true
|
|
||||||
# - yamllint woodpecker.yml
|
|
||||||
# when:
|
|
||||||
# branch: [main, develop, staging]
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# STAGE 2 & 3: Tests & Security (DISABLED)
|
|
||||||
# ============================================
|
|
||||||
# test-unit:
|
|
||||||
# image: python:${python_version}-slim
|
|
||||||
# commands:
|
|
||||||
# - pip install --no-cache-dir -r requirements.txt
|
|
||||||
# - pytest tests/unit/
|
|
||||||
# when:
|
|
||||||
# branch: [main, develop]
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# STAGE 4: Docker Build & Push (ACTIVE)
|
|
||||||
# ============================================
|
|
||||||
docker-build:
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
registry: *harbor_registry
|
|
||||||
repo: ${harbor_registry}/${image_name}
|
|
||||||
tags:
|
|
||||||
- ${CI_COMMIT_SHA:0:8}
|
|
||||||
- ${CI_COMMIT_BRANCH}
|
|
||||||
- latest
|
|
||||||
username:
|
|
||||||
from_secret: harbor_username
|
|
||||||
password:
|
|
||||||
from_secret: harbor_password
|
|
||||||
build_args:
|
|
||||||
- ENVIRONMENT=production
|
|
||||||
- VERSION=${CI_COMMIT_SHA:0:8}
|
|
||||||
cache_from:
|
|
||||||
- ${harbor_registry}/${image_name}:latest
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
dry_run: false
|
|
||||||
when:
|
|
||||||
event: [push, tag, manual]
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# STAGE 5 - 11: Deployment & Notifications (DISABLED)
|
|
||||||
# ============================================
|
|
||||||
# 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, staging]
|
|
||||||
|
|
||||||
# notify-telegram:
|
|
||||||
# image: appleboy/drone-telegram:latest
|
|
||||||
# settings:
|
|
||||||
# token: { from_secret: telegram_bot_token }
|
|
||||||
# to: { from_secret: telegram_chat_id }
|
|
||||||
# when:
|
|
||||||
# status: [success, failure]
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# Services & Workspace Configuration
|
|
||||||
# ============================================
|
|
||||||
# (سرویسها فعلاً کامنت شدند چون تستی اجرا نمیشود)
|
|
||||||
# services:
|
|
||||||
# postgres:
|
|
||||||
# image: postgres:14-alpine
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
base: /woodpecker/src
|
|
||||||
path: workspace
|
|
||||||
|
|
||||||
clone:
|
|
||||||
git:
|
|
||||||
image: woodpeckerci/plugin-git:latest
|
|
||||||
settings:
|
|
||||||
depth: 50
|
|
||||||
tags: true
|
|
||||||
Reference in New Issue
Block a user