Migrate CI from Drone to Woodpecker

Replace .drone.yml with .woodpecker/ pipeline configs (frontend.yml, api.yml).
Convert Drone env vars to Woodpecker equivalents (CI_PIPELINE_NUMBER, CI_COMMIT_SHA),
use woodpeckerci/plugin-git for clone with retry, woodpeckerci/plugin-slack for
notifications, and plugins/docker for image builds. Update all docs and skills.
This commit is contained in:
Viktor Barzin 2026-02-23 22:00:09 +00:00
parent 2357722e80
commit c7c3331d30
No known key found for this signature in database
GPG key ID: 0EB088298288D958
9 changed files with 190 additions and 448 deletions

View file

@ -33,7 +33,7 @@ See `.claude/skills/` for detailed skills on dev environment, building, and depl
- **Backend:** Python 3.13, FastAPI, SQLModel (SQLAlchemy 2), Celery + Redis, pytesseract/OpenCV
- **Frontend:** React 19, TypeScript, Vite, Tailwind CSS, Radix UI, Mapbox GL
- **Database:** MySQL 9 (prod) / SQLite (local dev), Alembic migrations
- **Infrastructure:** Docker Compose (dev), Kubernetes (prod), Drone CI
- **Infrastructure:** Docker Compose (dev), Kubernetes (prod), Woodpecker CI
## Code Conventions
@ -81,7 +81,7 @@ See `.env.sample` for the full list. Key ones:
## Git Workflow
- CI: Drone CI builds Docker images on push to `master`, deploys to K8s.
- CI: Woodpecker CI (`.woodpecker/`) builds Docker images on push to `master`, deploys to K8s.
- Linting: GitHub Actions runs Ruff on PR diffs.
- Keep commits focused — one logical change per commit.
- Group related files (e.g., code + its tests) in the same commit.

View file

@ -99,7 +99,7 @@ docker push viktorbarzin/immoweb:latest
## CI/CD Note
Drone CI automatically builds and pushes images on push to `master` (see `.drone.yml`).
Woodpecker CI automatically builds and pushes images on push to `master` (see `.woodpecker/`).
The manual process above is for when you need to build/push outside of CI, such as:
- Hotfix deployments
- Testing image builds locally before pushing

View file

@ -151,7 +151,7 @@ kubectl port-forward deployment/realestate-crawler-api 5001:5001 -n realestate-c
## Notes
- Drone CI handles automated deployments on push to `master` (see `.drone.yml`)
- Woodpecker CI handles automated deployments on push to `master` (see `.woodpecker/`)
- Use manual deployment for hotfixes, testing, or deploying from non-master branches
- The K8s cluster is at `10.0.20.100:6443` (context: `kubernetes-admin@kubernetes`)
- If pods aren't picking up new `:latest` images, check the `kubernetes-latest-tag-image-pull` skill