fix: forcer l'invalidation du cache Docker dans Portainer
- Ajout d'un build arg CACHE_BUST avec timestamp pour invalider le cache - Ajout d'une instruction RUN tôt dans le Dockerfile pour forcer l'invalidation - Amélioration de la documentation avec guide détaillé pour forcer le rebuild - Explication du problème de cache Docker et solutions multiples - Instructions pour utiliser --no-cache dans Portainer
This commit is contained in:
@@ -163,19 +163,45 @@ Si le dépôt est privé, utiliser un **Personal Access Token** (Gitea) :
|
||||
|
||||
Pour mettre à jour le Radar Technologique Laplank dans Portainer :
|
||||
|
||||
**Option 1 : Rebuild depuis Git (recommandé)**
|
||||
**⚠️ IMPORTANT : Pour que les mises à jour soient effectives, il faut forcer le rebuild sans cache !**
|
||||
|
||||
**Option 1 : Rebuild avec --no-cache (RECOMMANDÉ)**
|
||||
1. Aller dans **Stacks** → Sélectionner la stack `laplank-radar-technologique`
|
||||
2. Cliquer sur **Editor**
|
||||
3. **Cocher la case "Always pull image"** (si disponible)
|
||||
4. **Cocher la case "Rebuild"** ou utiliser l'option "Rebuild the stack"
|
||||
5. **Dans les options avancées, cocher "No cache"** ou utiliser `--no-cache` dans les build args
|
||||
6. Cliquer sur **Update the stack**
|
||||
7. Portainer va reconstruire l'image complètement sans utiliser le cache
|
||||
|
||||
**Option 2 : Rebuild manuel via l'interface**
|
||||
1. Aller dans **Stacks** → Sélectionner la stack `laplank-radar-technologique`
|
||||
2. Cliquer sur **Editor**
|
||||
3. Cliquer sur **Update the stack**
|
||||
4. Portainer va reconstruire l'image depuis la dernière version de la branche `dev-tech`
|
||||
4. **Avant de confirmer**, dans les options de build, ajouter `--no-cache` ou cocher "No cache"
|
||||
5. Confirmer la mise à jour
|
||||
|
||||
**Option 2 : Pull & Redeploy**
|
||||
1. Aller dans **Containers** → Sélectionner `laplank-radar-business`
|
||||
2. Cliquer sur **Recreate** (si l'image a été rebuild ailleurs)
|
||||
**Option 3 : Supprimer l'image et rebuild (si les options ci-dessus ne fonctionnent pas)**
|
||||
1. Aller dans **Containers** → Sélectionner `laplank-radar-technolologique`
|
||||
2. Cliquer sur **Stop** pour arrêter le conteneur
|
||||
3. Aller dans **Images** → Trouver l'image de la stack
|
||||
4. Cliquer sur **Remove** pour supprimer l'image
|
||||
5. Retourner dans **Stacks** → Sélectionner la stack
|
||||
6. Cliquer sur **Editor** → **Update the stack**
|
||||
7. L'image sera reconstruite depuis zéro
|
||||
|
||||
**Option 4 : Utiliser le CACHE_BUST automatique**
|
||||
Le `docker-compose.business.yml` inclut maintenant un `CACHE_BUST` avec timestamp qui change automatiquement. Cependant, Portainer peut ne pas interpréter les variables shell `$(date +%s)`. Dans ce cas :
|
||||
1. Utiliser l'**Option 1** avec `--no-cache`
|
||||
2. Ou modifier manuellement le `CACHE_BUST` dans le compose avant de mettre à jour
|
||||
|
||||
**Vérification après mise à jour :**
|
||||
- Vérifier les logs : **Containers** → `laplank-radar-business` → **Logs**
|
||||
- Vérifier les logs : **Containers** → `laplank-radar-technolologique` → **Logs**
|
||||
- Tester l'application : `http://<votre-serveur>:3006`
|
||||
- Vérifier que les changements sont visibles (par exemple, le contenu de `about.md` ou `custom.css`)
|
||||
|
||||
**Pourquoi le cache pose problème ?**
|
||||
Docker utilise un système de cache par couches. Si les fichiers copiés n'ont pas changé selon l'algorithme de détection de Docker, il réutilise les couches en cache. C'est pourquoi il faut forcer un rebuild complet avec `--no-cache` pour garantir que tous les fichiers sont bien copiés et que l'application est reconstruite avec les dernières modifications.
|
||||
|
||||
## Déploiement avec Drone CI
|
||||
|
||||
|
||||
Reference in New Issue
Block a user