Frage

Gibt es eine Möglichkeit um ein Protokoll zu halten (entweder lokal oder auf einem entfernten Server gespeichert) jedes Mal, wenn ein Einsatz über Capistrano getan wird? Es wäre sehr nützlich sein, eine Aufzeichnung zu behalten, was Revision wurde in der Vergangenheit zu einem bestimmten Zeitpunkt ausgeführt wird.

Ich weiß, dass der Bereitstellungsprozess hinter den bereitgestellten Dateien für die letzten 10 Einsätze in den Veröffentlichungen Verzeichnis verläßt, aber es wäre schön, mehr Geschichte zu halten und hat es in der Form einer flachen Datei zugänglich.

War es hilfreich?

Lösung

Capistrano setzt ein paar hilfreiche Variablen, nannte man latest_revision, die Sie in einer Datei auskippen kann.

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

Andere Tipps

Es gibt keine Funktionalität eingebaut, so dass die andere Antwort würde perfekt funktionieren; Ich könnte sagen, dass Sie es auf die Standardausführung Kette anhängen sollte irgendwie, würde ich so etwas wie

empfehlen
after :deploy, :mark_revision

besser noch wäre imho etwas wie:

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

ich es als Fahrschein für die Diskussion über Capistrano Bug Tracker geöffnet haben, vielleicht werden wir etwas im Kern zu halten besser Protokolle implementieren; es ist sicherlich eine große Frage, die wir hart übersehen haben!

Peritor Labs ‚Webistrano‘ macht etwas Ähnliches, durch eine Datenbank gefahrene Web-Frontend zu halten, dies ermöglicht es Ihnen, protokollieren, was Sie wollen, und die Abhängigkeit für den Einsatz abseits der Entwickler Maschinen bewegen, um irgendwo zentralere; Leute benutzen oft Webistrano auf ihre CI-Server oder Repository-Host, wenn sie sich selbst Hosting sind. Weitere Informationen über ihre Trac: http://labs.peritor.com/webistrano

Der Fehler befindet sich hier: https: // Capistrano. lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top