Por lo general, cuando uso Capistrano, iré y eliminaré manualmente versiones antiguas de una aplicación implementada. Entiendo que puedes correr cap deploy:cleanup
pero eso todavía deja 5 lanzamientos. ¿Es este el propósito previsto? ¿Hay alguna otra forma de limpiar versiones anteriores en solo 1 implementación anterior?
capistrano
Josh
fuente
fuente
Respuestas:
Puede usar la
:keep_releases
variable para anular el valor predeterminado de 5. Compruebe esto .fuente
after
gancho. Llamarlo directamente muestra los errores ... Me di cuenta de esto cuando comenzaba a quedarme sin espacio en disco.Puede hacer esto automáticamente configurando esto en su deploy.rb
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 decidiera. En capistrano 3 se volvió a agregar al flujo de implementación predeterminado.
fuente
deploy:cleanup
como parte del flujo de implementación .Si desea eliminar todas las versiones, excepto las últimas 3, por ejemplo, puede ejecutar:
fuente
optionParser::InvalidOption: invalid option: s
Tuve un problema similar. Quería mantener las 5 versiones para implementaciones normales, pero necesitaba para ciertas situaciones 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.Para ejecutar use
bundle exec cap staging cleanup_all
ocap staging cleanup_all
fuente