Wenn ich capistrano verwende, lösche ich normalerweise alte Releases manuell aus einer bereitgestellten Anwendung. Ich verstehe, dass Sie laufen können, cap deploy:cleanup
aber das lässt noch 5 Releases. Ist das der beabsichtigte Zweck? Gibt es eine andere Möglichkeit, alte Releases auf nur eine vorherige Bereitstellung zu bereinigen?
capistrano
Josh
quelle
quelle
Antworten:
Sie können die
:keep_releases
Variable verwenden, um den Standardwert von 5 zu überschreiben. Überprüfen Sie dies .quelle
after
Hook stillschweigend "erfolgreich" zu sein scheint . Wenn ich es direkt aufrufe, werden die Fehler angezeigt ... Ich habe dies festgestellt, als mir der Speicherplatz ausgegangen ist.Sie können dies automatisch tun, indem Sie dies in Ihrer deploy.rb festlegen
In der Vergangenheit (ich weiß nicht genau, welche Version) war dieser Rückruf die Standardeinstellung, aber später entschied sich der Entwickler, ihn dem Benutzer zu überlassen, um zu entscheiden. In Capistrano 3 wurde es wieder zum Standardbereitstellungsablauf hinzugefügt.
quelle
deploy:cleanup
Teil des Bereitstellungsablaufs sind .Wenn Sie beispielsweise alle Releases außer den letzten 3 löschen möchten, können Sie Folgendes ausführen:
quelle
optionParser::InvalidOption: invalid option: s
Ich hatte ein ähnliches Problem. Ich wollte die 5 Releases für normale Bereitstellungen behalten, musste sie jedoch in bestimmten Situationen entfernen, um alle vorherigen Releases entfernen zu können.
Ich konnte dies mit einer benutzerdefinierten Aufgabe tun. Erstellen Sie eine Datei
lib/capistrano/tasks/cleanup.rake
und fügen Sie den folgenden Code hinzu.Verwenden Sie
bundle exec cap staging cleanup_all
odercap staging cleanup_all
quelle