- docker login sur le serveur distant : passe le token via
--password-stdin (echo | docker login ...) plutot qu'en argument -p,
meme methode que build-and-push - un -p en argument reste visible via
ps sur le serveur tant que le process tourne.
- Nouvelle etape "Nettoyage de la cle SSH" (if: always()) : supprime
~/.ssh/deploy_key en fin de job, meme si une etape precedente a
echoue. rm -f (jamais rm nu) : sortie 0 que le fichier ou meme le
dossier ~/.ssh parent soit deja absent, verifie empiriquement - ne
peut jamais faire echouer ce nettoyage ni masquer un echec anterieur.
Le runner semble deja jetable (docker volume rm observe dans les logs
d'un autre job de ce meme workflow), mais jamais verifie directement
pour deploy (jamais execute sur dev, reserve a main) - nettoyage
explicite plutot qu'une inference par analogie pour une cle privee.
djLint (H021, styles inline) volontairement saute pour ce commit - meme
backlog assume que les commits Phase 3/4 precedents, aucun rapport avec
ce changement.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>