release
Une release est un répertoire daté et complet sous releases/ — /var/www/exemple.fr/releases/2026-08-03T14-40-58 — écrit alors que personne ne le lit, puis mis en service en faisant pointer current dessus : ln -sfn, une seule opération, sans le moindre instant où current n'existe pas. C'est un objet, pas l'action de déployer, et cette distinction est ce que l'arborescence achète. Recopier des fichiers dans le répertoire que Nginx sert — un rsync --delete dans la racine en service — n'est pas une release : une arborescence à moitié écrite est servie telle quelle, et la version remplacée a disparu, donc il ne reste rien à désigner. Une release ne contient que du code ; les fichiers envoyés par les utilisateurs et les journaux applicatifs restent dans shared/, où chaque release renvoie par un lien. Gardez-en cinq, et le retour arrière tient dans un ln -sfn. readlink -f /var/www/exemple.fr/current est la seule réponse à « quelle release est servie ».
Aussi écrit : répertoire de release
