Habituellement, lors de l'utilisation de capistrano, je vais supprimer manuellement les anciennes versions d'une application déployée. Je comprends que vous pouvez exécuter cap deploy:cleanup
mais cela laisse encore 5 versions. Est-ce son objectif? Existe-t-il un autre moyen de nettoyer les anciennes versions pour un seul déploiement précédent?
capistrano
Josh
la source
la source
Réponses:
Vous pouvez utiliser la
:keep_releases
variable pour remplacer la valeur par défaut de 5. Vérifiez ceci .la source
after
hook. L'appeler montre directement les erreurs ... J'ai réalisé cela quand je commençais à manquer d'espace disque.Vous pouvez le faire automatiquement en définissant ceci dans votre deploy.rb
Dans le passé (je ne sais pas exactement quelle version), ce rappel était la valeur par défaut, mais plus tard, le développeur a décidé de laisser à l'utilisateur le soin de décider. Dans capistrano 3, il a été ajouté au flux de déploiement par défaut.
la source
deploy:cleanup
partie du flux de déploiement .Si vous souhaitez supprimer toutes les versions sauf les 3 dernières par exemple, vous pouvez exécuter:
la source
optionParser::InvalidOption: invalid option: s
J'avais un problème similaire. Je voulais conserver les 5 versions pour les déploiements normaux mais nécessaire dans certaines situations pour pouvoir supprimer toutes les versions précédentes.
J'ai pu le faire avec une tâche personnalisée. Créez un fichier
lib/capistrano/tasks/cleanup.rake
et ajoutez le code suivant.Pour exécuter, utilisez
bundle exec cap staging cleanup_all
oucap staging cleanup_all
la source