4NK_env/IA_agents/CI_TRIGGER_PROCESS.md
2025-09-22 13:01:48 +02:00

7.6 KiB

Processus de Déclenchement des CI

📋 Vue d'ensemble

Ce document explique comment déclencher les CI pour tous les projets du LeCoffre Node.

🔧 Mécanisme de déclenchement

Principe

  • Branche Git : int-dev (pour le développement)
  • Tag Git : int-dev (pour déclencher les CI)
  • Image Docker : int-dev (résultat des CI)

Workflow

  1. Développement sur la branche int-dev
  2. Création d'un tag Git int-dev
  3. Push du tag → déclenchement automatique de la CI
  4. Construction de l'image Docker git.4nkweb.com/4nk/{project}:int-dev

🏗️ Projets avec CI

Projet Workflow Image Docker Status
sdk_relay .gitea/workflows/build-int-dev.yml git.4nkweb.com/4nk/sdk_relay:int-dev CI configurée
sdk_storage .gitea/workflows/build-int-dev.yml git.4nkweb.com/4nk/sdk_storage:int-dev CI configurée
sdk_signer .gitea/workflows/build-int-dev.yml git.4nkweb.com/4nk/sdk_signer:int-dev CI configurée
ihm_client .gitea/workflows/docker-int-dev.yml git.4nkweb.com/4nk/ihm_client:int-dev CI configurée
lecoffre-front .gitea/workflows/build-int-dev.yml git.4nkweb.com/4nk/lecoffre-front:int-dev CI configurée
lecoffre-back-mini .gitea/workflows/build-int-dev.yml git.4nkweb.com/4nk/lecoffre-back-mini:int-dev CI configurée

🚀 Commandes pour déclencher les CI

Pour un projet spécifique

cd /home/debian/4NK_env/{project}
git tag -a int-dev -m "ci: docker_tag=int-dev - Description du changement"
git push origin refs/tags/int-dev

Commandes spécifiques par projet

1. sdk_relay

cd /home/debian/4NK_env/sdk_relay
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for sdk_relay"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/build-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/sdk_relay:int-dev
  • Tags existants: ci-trigger-int-dev, int-dev

2. sdk_storage

cd /home/debian/4NK_env/sdk_storage
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for sdk_storage"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/build-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/sdk_storage:int-dev
  • Tags existants: int-dev

3. sdk_signer

cd /home/debian/4NK_env/sdk_signer
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for sdk_signer"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/build-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/sdk_signer:int-dev
  • Tags existants: int-dev

4. ihm_client

cd /home/debian/4NK_env/ihm_client
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for ihm_client"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/docker-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/ihm_client:int-dev
  • Tags existants: int-dev
  • Note: Utilise un workflow différent (docker-int-dev.yml au lieu de build-int-dev.yml)

5. lecoffre-front

cd /home/debian/4NK_env/lecoffre-front
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for lecoffre-front"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/build-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/lecoffre-front:int-dev
  • Tags existants: int-dev

6. lecoffre-back-mini

cd /home/debian/4NK_env/lecoffre-back-mini
git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for lecoffre-back-mini"
git push origin refs/tags/int-dev
  • Workflow: .gitea/workflows/build-int-dev.yml
  • Image Docker: git.4nkweb.com/4nk/lecoffre-back-mini:int-dev
  • Tags existants: int-dev

Pour tous les projets

cd /home/debian/4NK_env
for project in sdk_relay sdk_storage sdk_signer ihm_client lecoffre-front lecoffre-back-mini; do
  echo "=== Déclenchement CI pour $project ==="
  cd $project
  git tag -a int-dev -m "ci: docker_tag=int-dev - Trigger CI build for $project"
  git push origin refs/tags/int-dev
  cd ..
done

📝 Messages de commit recommandés

Format standard

ci: docker_tag=int-dev - Description du changement

Exemples

ci: docker_tag=int-dev - Fix config file reading logic
ci: docker_tag=int-dev - Update dependencies and build process
ci: docker_tag=int-dev - Add new features for relay service

⚠️ Points d'attention

Distinction importante

  • Branche int-dev : Pour le développement (git branch int-dev)
  • Tag int-dev : Pour déclencher les CI (git tag int-dev)
  • Image int-dev : Résultat des CI (docker pull ...:int-dev)

Types de workflows

Workflow build-int-dev.yml (standard)

  • Projets: sdk_relay, sdk_storage, sdk_signer, lecoffre-front, lecoffre-back-mini
  • Caractéristiques:
    • Utilise Docker BuildKit
    • Support SSH pour les clonages Git
    • Extraction du tag Docker depuis le message de commit
    • Build avec docker build --ssh default

Workflow docker-int-dev.yml (spécialisé)

  • Projets: ihm_client
  • Caractéristiques:
    • Utilise Docker Buildx
    • Support multi-plateforme (linux/amd64)
    • Vérification des fichiers WebAssembly
    • Build avec docker/build-push-action@v6

Résolution de conflits

Si un tag int-dev existe déjà :

# Supprimer l'ancien tag local
git tag -d int-dev

# Supprimer l'ancien tag distant
git push origin :refs/tags/int-dev

# Créer et pousser le nouveau tag
git tag -a int-dev -m "ci: docker_tag=int-dev - Nouveau message"
git push origin refs/tags/int-dev

🔍 Vérification des CI

Vérifier les tags existants

cd /home/debian/4NK_env/{project}
git tag -l | grep int-dev

Vérifier les images Docker

docker pull git.4nkweb.com/4nk/{project}:int-dev

Vérifier le statut des CI

Les CI sont visibles sur git.4nkweb.com dans l'interface web de chaque projet.

📊 Historique des déclenchements

Date Projet Tag Commit Status Notes
2025-09-21 sdk_relay int-dev 0180d32 CI déclenchée Fix config file reading logic
2025-09-21 sdk_storage int-dev - CI déclenchée Tag créé et poussé
2025-09-21 sdk_signer int-dev - CI déclenchée Tag créé et poussé
2025-09-21 ihm_client int-dev - CI déclenchée Tag créé et poussé
2025-09-21 lecoffre-front int-dev - CI déclenchée Tag créé et poussé
2025-09-21 lecoffre-back-mini int-dev - CI déclenchée Tag créé et poussé

Détails des projets vérifiés

Projet Branche Tags existants Workflow Dockerfile Status
sdk_relay int-dev ci-trigger-int-dev, int-dev build-int-dev.yml Configuré
sdk_storage int-dev int-dev build-int-dev.yml Configuré
sdk_signer int-dev int-dev build-int-dev.yml Configuré
ihm_client int-dev int-dev docker-int-dev.yml Configuré
lecoffre-front int-dev int-dev build-int-dev.yml Configuré
lecoffre-back-mini int-dev int-dev build-int-dev.yml Configuré

🎯 Prochaines étapes

  1. Attendre que toutes les CI se terminent (5-10 minutes)
  2. Vérifier que les nouvelles images sont disponibles
  3. Redémarrer les services avec les nouvelles images
  4. Tester la connectivité complète

Document créé le 2025-09-21 - Processus de déploiement LeCoffre Node