Normalerweise, wenn ich capistrano verwende, werde ich alte Releases von einer bereitgestellten Anwendung manuell löschen. Ich verstehe, dass Sie cap deploy:cleanup
ausführen können, aber das lässt noch 5 Versionen. Ist das der beabsichtigte Zweck? Gibt es eine andere Möglichkeit, alte Versionen auf nur eine vorherige Bereitstellung zu bereinigen?Capistrano - bereinigen alte Releases
Antwort
Sie können die :keep_releases
Variable verwenden, um den Standardwert von 5 zu überschreiben. Überprüfen Sie this aus.
Großartig. Genau das habe ich gesucht. Vielen Dank. – Josh
Gern geschehen! Du hättest die Antwort einfach annehmen können! :-) – jcrossley3
@Josh, definitiv, akzeptiere diese Antwort, wenn es dein Problem gelöst hat. Sie erhalten beide Rep-Punkte auf diese Weise. –
Sie könnten dies automatisch durch die
set :keep_releases, 1
after "deploy:update", "deploy:cleanup"
In der Vergangenheit in Ihrem deploy.rb Einstellung (ich weiß nicht genau, welche Version) dieser Rückruf war der Standard, aber später die Entwickler beschlossen, verlassen es dem Benutzer zu entscheiden. In capistrano 3 wurde es zum Standardbereitstellungsablauf hinzugefügt.
Danke, Diego. Ihre Antwort funktioniert in Capistrano v2.14.1 korrekt. – scarver2
Dank @diego das hat wirklich geholfen! – gouravtiwari21
Sieht aus wie [Capistrano 3 ruft 'deploy: cleanup' als Teil des Deploy-Flusses auf] (https://github.com/capistrano/capistrano/blob/690afc0c5c3c43d2920b0bfdeb9323c286b12106/lib/capistrano/tasks/deploy.rake#L23). – Dennis
Wenn Sie alle Meldungen mit Ausnahme der letzten 3 zum Beispiel löschen möchten Sie ausführen können:
cap deploy:cleanup -s keep_releases=3
Funktioniert nicht. 'optionParser :: InvalidOption: ungültige Option: s' – Snowman
hatte ich ein ähnliches Problem. Ich wollte die 5 Releases für normale Bereitstellungen behalten, musste aber in bestimmten Situationen alle vorherigen Releases entfernen 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.
desc "Remove all but the last release"
task :cleanup_all do
set :keep_releases, 1
invoke "deploy:cleanup"
end
Zur Verwendung bundle exec cap staging cleanup_all
oder cap staging cleanup_all
- 1. capistrano 3 deploy: saubere alte Releases Erlaubnis Fehler
- 2. Bereich Alte Objekte bereinigen
- 3. läuft alte mex-Datei auf neue Matlab-Releases
- 4. capistrano Problem
- 5. Capistrano, Debian 8 systemctl
- 6. Capistrano deploy - precompile Fehler
- 7. Capistrano V3 fehlgeschlagen auf database.yml
- 8. Warum agiert Capistrano so?
- 9. Capistrano und Bereitstellung einer Website von Github
- 10. capistrano: cp - kann nicht stat
- 11. capistrano failure - wo ist cap deploy definiert?
- 12. Capistrano deploy nicht auf sidekiq Start
- 13. Capistrano Deployment Mit rbenv
- 14. Protokoll der CAPISTRANO-Bereitstellungen speichern
- 15. Capistrano das Werfen ersinnen secret_key nicht gesetzt
- 16. Ressourcen bereinigen
- 17. Neo4j, Capistrano-Bereitstellung, Authentifizierungsfehler
- 18. In Bezug auf Android Releases
- 19. Capistrano hängen an git-Archiv Master
- 20. Capistrano, Schienen 4, Datenbankkonfiguration nicht Adapter spezifiziert
- 21. Um das Verzeichnis $ JBOSS_HOME/server/web/tmp zu bereinigen oder nicht zu bereinigen?
- 22. Capistrano Loglevel
- 23. Capistrano Bereitstellungsprobleme
- 24. meine RoR Entwicklungsumgebung Bereinigen
- 25. capistrano Deployment Alptraum
- 26. Bereitstellung auf Heroku mit Capistrano?
- 27. Rails 3 - Bundler/Capistrano Fehler
- 28. Schienen 4.1 kann nicht über capistrano 3
- 29. Capistrano v3 konnte keinen Bundler finden
- 30. Empfehlungen zum Bereinigen von ClickOnce-Implementierungsmüll
es ist immer eine gute Idee, einige frühere Versionen zu halten, dann ausführen, wenn Sie einen großen Fehler letzte deploy enthält, kann man schnell mit Capistrano Rollback (cap deploy: Rollback) auf die vorherige Version, bis Sie es beheben. – damoiser