33800 Docs

← Retour

Proposition : Migration CI/CD vers Smart-Deploy

Date : 21/01/2026 22:30 Status : VALIDE (ai-orchestrator migre avec succes) Priorité : HAUTE


1. Constat

Système prévu (proposition 20/01/2026)

# .gitlab-ci.yml (2 lignes)
include:
  - project: 'gouroubleu/ci-templates'
    file: '/deploy.yml'

→ GitLab CI appelle smart-deploy.sh qui :

Réalité actuelle

Aucun projet réel n'utilise ce système.

Les projets ont leur propre .gitlab-ci.yml qui fait tout directement (build + deploy SSH) sans passer par smart-deploy.sh.

Conséquences


2. État des projets

Projet ID Template conf.gouroubleu.yml Action
ai-orchestrator 108 Ancien custom À vérifier Migrer
notif-logger 107 Ancien "standard" À vérifier Migrer
browser-connector 106 Ancien "standard" À vérifier Migrer
connectors-api 105 Ancien "standard" À vérifier Migrer
ffmpeg-api 90 ? À vérifier Migrer
tintech-api 83 ? À vérifier Migrer
ulias 64 ? À vérifier Migrer
medias-api 60 ? À vérifier Migrer
ai-api 53 ? À vérifier Migrer
jellylink-api 52 ? À vérifier Migrer
test-deploy 110 ✅ Appelle smart-deploy ✅ Présent OK

3. Plan de migration

Phase 1 : Audit (aujourd'hui)

Pour chaque projet :

  1. Vérifier si conf.prod.gouroubleu.yml existe
  2. Vérifier le contenu de .gitlab-ci.yml
  3. Identifier target (prod-portainer, nginx, o2switch)
  4. Identifier services utilisés (supabase, redis, etc.)

Phase 2 : Migration projet par projet

Pour chaque projet :

  1. Créer conf.prod.gouroubleu.yml :
    
    name: "mon-projet"
    target: "prod-portainer"
    type: "node"  # ou bun, rust, python
    domain: "mon-projet.33800.nowhere84.com"
    port: 3000

services:

nginx: enabled: true ssl: true

logs: enabled: true driver: loki


2. **Remplacer** `.gitlab-ci.yml` :
```yaml
include:
  - project: 'gouroubleu/ci-templates'
    file: '/deploy.yml'
  1. Tester : git push → vérifier pipeline → vérifier déploiement

Phase 3 : Nettoyage


4. Ordre de migration suggéré

  1. Projets avec pipeline "success" (moins risqué) :

    • ai-orchestrator
    • notif-logger
    • browser-connector
    • connectors-api
    • ffmpeg-api
    • tintech-api
  2. Projets avec pipeline "failed" (nécessitent debug) :

    • qwikpress
    • needfinder
    • authentificator
    • etc.

5. Risques

Risque Mitigation
Casse d'un projet en prod Migrer un à la fois, tester avant push
Config manquante Audit préalable pour identifier les variables
Rollback nécessaire Smart-deploy a le rollback auto intégré

6. Validation demandée


Résumé : Le système Smart-Deploy est prêt et fonctionne, mais aucun projet réel ne l'utilise. Il faut migrer les projets un par un vers le template ci-templates/deploy.yml + conf.prod.gouroubleu.yml.