significado rails nomina jamon golondrinas california capistrano

rails - Capistrano: limpiar viejos lanzamientos



capistrano rails (4)

Puede hacer esto automáticamente configurando esto en su deploy.rb

set :keep_releases, 1 after "deploy:update", "deploy:cleanup"

En el pasado (no sé exactamente qué versión), esta devolución de llamada era la predeterminada, pero más tarde el desarrollador decidió dejar que el usuario lo decidiera. En capistrano 3, se volvió a agregar al flujo de despliegue predeterminado.

Por lo general, cuando uso capistrano, iré y eliminaré manualmente versiones anteriores de una aplicación desplegada. Entiendo que puede ejecutar la cap deploy:cleanup pero eso aún deja 5 lanzamientos. ¿Es este su propósito? ¿Hay alguna otra manera de limpiar las versiones anteriores a solo 1 despliegue anterior?


Puede usar la variable :keep_releases para anular el valor predeterminado de 5. Verifique this .


Si desea eliminar todas las versiones, excepto las últimas 3, por ejemplo, puede ejecutar:

cap deploy:cleanup -s keep_releases=3


Tuve un problema similar. Quería mantener los 5 lanzamientos para implementaciones normales, pero es necesario para ciertas situaciones para poder eliminar todas las versiones anteriores.

Pude hacer esto con una tarea personalizada. Cree un archivo lib/capistrano/tasks/cleanup.rake y agregue el siguiente código.

desc "Remove all but the last release" task :cleanup_all do set :keep_releases, 1 invoke "deploy:cleanup" end

Para ejecutar el uso del bundle exec cap staging cleanup_all o cap staging cleanup_all