Domanda

Esiste un modo per mantenere un registro (locale o memorizzato su un server remoto) ogni volta che viene eseguita una distribuzione tramite capistrano? Sarebbe molto utile tenere traccia di quale revisione era in corso in un dato momento nel passato.

So che il processo di distribuzione lascia dietro di sé i file distribuiti per le ultime 10 distribuzioni nella directory dei rilasci, ma sarebbe bello conservare più cronologia e renderla accessibile sotto forma di file flat.

È stato utile?

Soluzione

capistrano imposta alcune utili variabili, una chiamata latest_revision che puoi scaricare in un file.

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

Altri suggerimenti

Non ci sono funzionalità integrate, quindi l'altra risposta funzionerebbe perfettamente; Potrei dire che dovresti collegarlo alla catena di esecuzione predefinita in qualche modo, consiglierei qualcosa come

after :deploy, :mark_revision

di Imho ancora meglio sarebbe qualcosa di simile:

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

L'ho aperto come ticket di discussione sul bug tracker di Capistrano, forse implementeremo qualcosa nel core per mantenere registri migliori; è certamente una grande domanda che abbiamo duramente trascurato!

Peritor Labs "Webistrano" fa qualcosa di simile, mantenendo un front-end web-based basato su database, questo ti permette di registrare quello che vuoi e spostare la dipendenza per la distribuzione dai computer degli sviluppatori in un posto più centrale; spesso le persone usano Webistrano sul proprio server CI o host repository se sono self-hosting. Maggiori informazioni sul loro Trac: http://labs.peritor.com/webistrano

Il bug risiede qui: https: // capistrano. lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top