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?

Schreibgeschützt
quelle

Antworten:

153

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

Cap Deploy: Rollback

Schreibgeschützt
quelle
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.

Snowcrash
quelle
14

einfaches Zurückrollen:

$ cap deploy:rollback

Rollback auf bestimmte Version:

$ cap deploy:rollback -s previous_release= [path to previous release under releases folder ]
Rhythmus Shahriar
quelle
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.

Martin
quelle
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