Wie können Sie mit capistrano auf die zuvor bereitgestellte Version zurücksetzen?


78

Ich habe versucht, "Cap Rollback" zu verwenden, erhalte jedoch den folgenden Fehler:

$ cap Rollback

Die Aufgabe "Rollback" existiert nicht

Gibt es einige zusätzliche Einstellungen, die ich vornehmen muss, damit Rollbacks funktionieren?

Antworten:


153

Habe gerade die Antwort hier gefunden http://github.com/leehambley/railsless-deploy :

Cap Deploy: Rollback


Gute Ressource. Dieser scheint ein paar weitere Methoden und mehr Dokumentation zu haben: capitate.rubyforge.org/recipes/deploy.html
JellicleCat

Was ist, wenn ich nicht nur auf die vorherige, sondern auch auf eine frühere Bereitstellung zurücksetzen möchte? Gibt es ein Argument oder eine Umgebungsvariable, die an diesen Befehl übergeben werden kann und angibt, auf welche Version ich ein Rollback durchführen möchte?
Ernesto

Gibt es eine Möglichkeit, auf eine bestimmte Version zurückzusetzen? Diese Antwort funktioniert nicht in Capistrano 3.
Atul Khanduri

47

Wenn Sie unterschiedliche Umgebungen (z. B. Staging, Produktion) mit dem mehrstufigen Juwel verwenden (z. B. require 'capistrano/ext/multistage'in Ihrer Datei deploy.rb), verwendet Capistrano standardmäßig Staging. Um eine Produktionsumgebung zurückzusetzen, gehen Sie wie folgt vor:

cap production deploy:rollback

und vorausgesetzt, Sie haben die Standardeinstellungen festgelegt, würde dies die Inszenierung zurücksetzen:

cap deploy:rollback

Es lohnt sich zu wissen, ob Sie unterschiedliche Umgebungen verwenden und sich fragen, warum dies nicht für die Produktion funktioniert.


14

einfaches Zurückrollen:

$ cap deploy:rollback

Rollback auf bestimmte Version:

$ cap deploy:rollback -s previous_release= [path to previous release under releases folder ]

9

Eigentlich ist es so

cap deploy:rollback:code

Bereitstellen: Das Zurücksetzen kann auf eine frühere Version zurückgesetzt werden, nicht unbedingt auf eine zuvor bereitgestellte Version.


6
Mir ist klar, dass diese Antwort von der akzeptierten Antwort durch eine erhebliche Zeit getrennt wird, aber gemäß dem Code für den rollbackNamespace cap deploy:rollbackbewirkt die Standardaktion für heute dasselbe wie ein Code-Rollback plus einen Neustart. Ref: github.com/capistrano/capistrano/blob/master/lib/capistrano/…
Jefflunt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.