# Déploiement — 4NK_template (projet) ## Environnements - Dev, staging, prod (à définir par projets consommateurs) ## Prérequis - Outils de déploiement et conteneurisation selon projet - Secrets fournis via CI (jamais en clair) ## Processus - Pré‑checks: tests/doc/sécurité/version/changelog/tag - Déploiement: pipeline CI dédié - Validation: smoke checks, santé, métriques ## Bootstrap d’environnement local - Script d’installation: `scripts/deploy/setup.sh` - Crée `~/.4nk_template/` (chmod 700) et `~/.4nk_template/.env` (chmod 600) - Copie depuis `scripts/env/.env.template` si présent, sinon génère un modèle - À compléter: `OPENAI_API_KEY`, `OPENAI_MODEL`, `RELEASE_TOKEN`, `BASE_URL` (si custom) - Applique la structure 4NK_template au projet cible (sans écraser par défaut): - `.gitea/**`, `.cursor/**`, `.cursorignore`, `.gitignore`, `.markdownlint.json` - `AGENTS.md`, `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, `TEMPLATE_VERSION` - `scripts/**` (dont `agents/`, `env/ensure_env.sh`, `deploy/setup.sh`), `security/` (si présent) - `docs/templates/**` et génération `docs/INDEX.md` Exécution: ```bash # Provisionner l'environnement local (~/.4nk_template/.env) + cloner + appliquer le template bash scripts/deploy/setup.sh [--dest DIR] [--force] # Exemples bash scripts/deploy/setup.sh https://git.example.com/org/mon-projet.git bash scripts/deploy/setup.sh git@host:org/mon-projet.git --dest ~/work --force ``` ## Rollback - Version précédente prête, compatibilité des données - Critères d’activation, procédure documentée ## Post‑déploiement - Vérification santé/logs/dashboards - Suivi des erreurs et retours ## Conteneur unifié (runner + agents) - Build: ```bash docker compose -f docker-compose.ci.yml build ``` - Exécuter les agents sur le dépôt courant: ```bash docker compose -f docker-compose.ci.yml up --abort-on-container-exit # Rapports: tests/reports/agents/*.md ``` - Lancer le runner dans le conteneur unifié: ```bash export RUNNER_MODE=runner BASE_URL="https://git.4nkweb.com" REGISTRATION_TOKEN="" docker compose -f docker-compose.ci.yml up -d ```