33800 Docs

← Retour

Task : Audit CI/CD Smart-Deploy

Date : 22/01/2026 17:00 Durée : ~1h30 Status : TERMINÉ

Objectif

Vérifier l'état de tous les projets utilisant Smart-Deploy et corriger les problèmes de healthcheck.

Contexte

Plusieurs containers étaient marqués "unhealthy" par Docker malgré des réponses HTTP correctes.

Travail réalisé

1. Audit des projets Smart-Deploy

8 projets identifiés avec conf.prod.gouroubleu.yml :

2. Problèmes identifiés

  1. Healthcheck wget manquant : Les images Node.js Alpine n'ont pas wget
  2. Docker networks saturés : Tous les pools d'adresses épuisés
  3. Type mal configuré : ai-orchestrator déclaré "node" mais c'est Python

3. Corrections Smart-Deploy

Fichier : /stock_8to/33800-stack/scripts/deploy/strategies/docker.sh

Ajout fonction get_healthcheck_cmd() :

case "$type" in
    node|bun|qwik|next)
        # Node.js disponible dans l'image
        echo "test: [\"CMD\", \"node\", \"-e\", \"require('http').get(...)\"]"
        ;;
    *)
        # Python, custom - utiliser curl
        echo "test: [\"CMD-SHELL\", \"curl -sf ... || exit 1\"]"
        ;;
esac

Commits GitLab :

4. Pipelines relancées

Projet Pipeline Résultat
test-deploy #229 ✅ success
ai-orchestrator #230, #236 ✅ success
authentificator #231 ✅ success
qwikpress main #232 ✅ success
qwikpress file-mode #234, #235, #237 ✅ success

5. Actions annexes

Résultat final

Tous les containers Smart-Deploy sont maintenant healthy :

ai-orchestrator|Up 10 minutes (healthy)
authentificator|Up 18 minutes (healthy)
browser-connector|Up 18 hours (healthy)
connectors-api|Up 18 hours (healthy)
notif-logger|Up 18 hours (healthy)
qwikpress-file|Up 4 minutes (healthy)
qwikpress|Up 14 minutes (healthy)
test-deploy|Up 33 minutes (healthy)
yolo-api|Up 5 days (healthy)

Note

yolo-api n'a pas été redéployé car le runner GitLab a un timeout de 1h qui est insuffisant pour l'image ~7GB. Le container existant est healthy.

Fichiers modifiés


Archivage projets GitLab (17:30)

Objectif : Nettoyer GitLab en archivant les projets inutilisés

Résultat

Projets archivés

Catégorie IDs Projets
Hello Car 78-82 hello-car-api, app, front, blog, hellocar-mobile
Ulia v1 62,63,66 ulia, ulia-front, ulia-recover
Flow 69,70 flow-api, flow-front
Exchange 87,88 exchange-api, exchange-front
Tintech frontend 9,84 tintech-app, tintech-front
Rust 56-58,75 rust-medias-explorer, rust-redirection, rust-face-detector, rust-redirection-explorer
Divers 55,61,71,77,85,89 gravity, starship, jellylink-client, ai-front, nova-web-site, auth-lib
Tests/Docs 54,59,93,94 mo-premier-projet, ai-test, projects-docs, mini-site-jerome

Gardés sur demande utilisateur

Commande utilisée

curl -X POST --header "PRIVATE-TOKEN: xxx" \
  "https://gitlab.33800.nowhere84.com/api/v4/projects/{id}/archive"