Files
datacat/.woodpecker.yaml
z3n 921a6e652b feat: initial scaffold — MVP catalogue de données d'API
- Backend NestJS : CRUD api_entries + categories, upload YAML multi-fichiers,
  génération docs AsyncAPI (@asyncapi/cli@6.0.0) et OpenAPI (redocly)
- Fix: route wildcard GET /api/apis/:id/*path pour servir les assets statiques
  (CSS/JS) générés par AsyncAPI HTML template (contournement bug path-to-regexp v8)
- Frontend Angular 19 : pages catalog, browse, api-detail, doc-viewer, upload (DSFR)
- Seeder de données de démo (idempotent)
- Docker Compose dev + Dockerfiles + manifests K8s
- Documentation : README, architecture, référence API REST

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-05-22 08:42:54 +00:00

57 lines
2.2 KiB
YAML

# Pipeline CI/CD pour datacat
steps:
# Build backend
build-back:
image: gcr.io/kaniko-project/executor:debug
commands:
- echo '{"auths":{"git.chmod777.dev":{"username":"'"$REGISTRY_USER"'","password":"'"$REGISTRY_PASSWORD"'"}}}' > /kaniko/.docker/config.json
- /kaniko/executor
--dockerfile=infra/Dockerfile.prod
--target=back
--context=dir:///woodpecker/src/git.chmod777.dev/z3n/datacat
--destination=git.chmod777.dev/z3n/datacat/back:${CI_COMMIT_SHA:0:8}
--destination=git.chmod777.dev/z3n/datacat/back:latest
--cache=true
environment:
REGISTRY_USER:
from_secret: registry_user
REGISTRY_PASSWORD:
from_secret: registry_password
# Build frontend
build-front:
image: gcr.io/kaniko-project/executor:debug
commands:
- echo '{"auths":{"git.chmod777.dev":{"username":"'"$REGISTRY_USER"'","password":"'"$REGISTRY_PASSWORD"'"}}}' > /kaniko/.docker/config.json
- /kaniko/executor
--dockerfile=infra/Dockerfile.prod
--target=front
--context=dir:///woodpecker/src/git.chmod777.dev/z3n/datacat
--build-arg ANGULAR_API_URL=https://api.datacat.dev.chmod777.dev
--destination=git.chmod777.dev/z3n/datacat/front:${CI_COMMIT_SHA:0:8}
--destination=git.chmod777.dev/z3n/datacat/front:latest
--cache=true
environment:
REGISTRY_USER:
from_secret: registry_user
REGISTRY_PASSWORD:
from_secret: registry_password
# Deploy sur K8s
deploy:
image: bitnami/kubectl:latest
environment:
KUBECONFIG: /tmp/kubeconfig.yaml
DEPLOY_KUBECONFIG:
from_secret: deploy_kubeconfig
commands:
- echo "$DEPLOY_KUBECONFIG" > /tmp/kubeconfig.yaml
- kubectl set image deployment/backend backend=git.chmod777.dev/z3n/datacat/back:${CI_COMMIT_SHA:0:8} -n datacat
- kubectl set image deployment/frontend frontend=git.chmod777.dev/z3n/datacat/front:${CI_COMMIT_SHA:0:8} -n datacat
- kubectl rollout status deployment/backend -n datacat --timeout=120s
- kubectl rollout status deployment/frontend -n datacat --timeout=120s
depends_on:
- build-back
- build-front