Pregunta

¿Hay alguna manera de mantener un registro (local o almacenado en un servidor remoto) de cada vez que se realiza una implementación a través de capistrano? Sería muy útil mantener un registro de qué revisión se estaba ejecutando en un momento dado en el pasado.

Sé que el proceso de implementación deja atrás los archivos implementados para las últimas 10 implementaciones en el directorio de lanzamientos, pero sería bueno mantener más historial y tenerlo accesible en forma de archivo plano.

¿Fue útil?

Solución

capistrano establece algunas variables útiles, una llamada latest_revision que puede volcar en un archivo.

task :mark_revision do
  log = "#{deploy_to}/revisions.log"
  run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
  "echo #{latest_revision} >> #{log};"
end

Otros consejos

No hay funcionalidad incorporada, por lo que la otra respuesta funcionaría perfectamente; Podría decir que de alguna manera debería adjuntarlo a la cadena de ejecución predeterminada, recomendaría algo como

after :deploy, :mark_revision

de mejor aún en mi humilde opinión sería algo como:

after :deploy do
    log = "#{deploy_to}/revisions.log"
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
    "echo #{latest_revision} >> #{log};"
end

Lo abrí como un boleto para debatir sobre el rastreador de errores de Capistrano, tal vez implementaremos algo en el núcleo para mantener mejores registros; ¡sin duda es una gran pregunta que hemos pasado por alto!

Peritor Labs '' Webistrano '' hace algo similar, al mantener un front-end web basado en una base de datos, esto le permite registrar lo que quiera y mover la dependencia para el despliegue de las máquinas de desarrollo a un lugar más central; a menudo las personas usan Webistrano en su servidor CI o host de repositorio si se autohospedan. Más información sobre su Trac: http://labs.peritor.com/webistrano

El error reside aquí: https: // capistrano. lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top