4NK_template/docs/project/DEPLOYMENT.md

2.2 KiB
Raw Blame History

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 denvironnement local

  • Script dinstallation: 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:

# Provisionner l'environnement local (~/.4nk_template/.env) + cloner + appliquer le template
bash scripts/deploy/setup.sh <git_url_du_projet> [--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 dactivation, procédure documentée

Postdéploiement

  • Vérification santé/logs/dashboards
  • Suivi des erreurs et retours

Conteneur unifié (runner + agents)

  • Build:
docker compose -f docker-compose.ci.yml build
  • Exécuter les agents sur le dépôt courant:
docker compose -f docker-compose.ci.yml up --abort-on-container-exit
# Rapports: tests/reports/agents/*.md
  • Lancer le runner dans le conteneur unifié:
export RUNNER_MODE=runner BASE_URL="https://git.4nkweb.com" REGISTRATION_TOKEN="<token>"
docker compose -f docker-compose.ci.yml up -d